2012-08-28 92 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

作品非常漂亮。解決了我的問題 –