如何在子查询中使用与访问数据库的联合

时间:2012-08-28 05:27:10

标签: c#-4.0 ms-access-2007

我正在使用访问数据库进行winform appliaction。 请纠正我。

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

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

“子查询中不允许操作”

请尽快帮助我。

5 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分: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 ) ) 

答案 2 :(得分: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) 

答案 3 :(得分: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

答案 4 :(得分:0)

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