2012-08-28 53 views
2

我正在使用访问数据库的winform应用程序。 请纠正我。如何在访问数据库的子查询中使用union

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

当我试图在访问数据库上执行此操作时,它给了我错误,如下所示。

“操作都没有子查询不允许”

请帮我尽快。

回答

1

我试过如下及其合作。

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) 
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 
0

据我知道工会操作都没有子查询不允许的,而不是你可以创建一个名为联合查询和子查询表达式包括

3

您还可以使用两个标准的SQL where条件,按下面。我已经测试了这种方法,它表现为预期

SELECT x, y, z 
WHERE x NOT IN (SELECT x FROM b) 
AND NOT IN (SELECT x FROM c) 
1

真的迟到了,但这个工程

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

作品非常漂亮。解决了我的问题 –