在一组中组合多个子查询的结果

时间:2012-10-17 15:53:46

标签: mysql set subquery

我试图根据其他表中的id排除表中的行。 我有2个表,其中“select * from”会产生类似(1,2,3)

的集合

我试图将这两个子查询的结果合并为一个,如:

(1,2,3) + (4,5) = (1,2,3,4,5)

所以我可以使用“NOT IN(1,2,3,4,5)”来过滤大表

我一直在关注GROUP_CONCAT,UNION和其他所有类型,但我似乎找不到真正有用的东西。

有人有想法吗?

2 个答案:

答案 0 :(得分:1)

select *
from Table3 
where id not in (
    select id from Table1 --your subquery that returns 1,2,3
    union all
    select id from Table2 --your subquery that returns 4,5
)

答案 1 :(得分:0)

select * from mytable
where id not in (
    select id from othertable
    union
    select id from othertable2
)