3

我正在开发带有 Access 数据库的 WinForms 应用程序。请纠正我。

Select * 
from EMP 
where Empid in 
    (Select id 
     from Test1 
     where pin=4 
     UNION 
     Select id 
     from Test2 
     where pin=4) 

当我尝试在 Access 数据库上执行此操作时,它给了我这个错误:

子查询中不允许操作

4

5 回答 5

3

您还可以使用两个标准 SQL where 条件,如下所示。我已经测试了这种方法,它似乎可以按预期工作

SELECT x, y, z
WHERE x NOT IN (SELECT x FROM b)
AND NOT IN (SELECT x FROM c)
于 2014-05-27T23:43:23.980 回答
2

我尝试如下,它的工作。

Select * 
from EMP where Empid in (Select id from Test1  where pin=4 ) UNION 
Select * 
from EMP where Empid in(Select id  from Test2  where pin=4) 
于 2012-08-28T05:46:09.330 回答
2

真的很晚了,但这有效

Select * 
from EMP 
where Empid in 
    (SELECT id FROM ( 
    Select id from Test1  where pin=4 
    UNION  Select id from Test2 where pin=4 ) ) 
于 2016-08-02T09:17:17.137 回答
0

像这样的东西怎么样

Select  e.* 
from    EMP e INNER JOIN
        (
            Select  id 
            from    Test1 
            where   pin=4 
            UNION   
            Select  id 
            from    Test2 
            where pin=4
        ) subSelect ON e.Empid = subSelect.id
于 2012-08-28T05:34:15.590 回答
0

据我所知,子查询中不允许联合操作,相反,您可以创建一个命名联合查询并包含在子查询表达式中

于 2013-05-14T11:03:07.830 回答