【发布时间】:2010-06-02 17:09:03
【问题描述】:
我想交叉两个“选择”查询,然后为整个结果设置另一个条件。我的意思是:
(select ... intersect select ...) where ...
有可能吗?
【问题讨论】:
标签: sql intersection
我想交叉两个“选择”查询,然后为整个结果设置另一个条件。我的意思是:
(select ... intersect select ...) where ...
有可能吗?
【问题讨论】:
标签: sql intersection
取决于你的数据库风格 Oracle(例如)将允许这样做:
SELECT *
FROM ( SELECT *
FROM TABLE_A
INTERSECT
SELECT *
FROM TABLE_B
)
WHERE <conditions>
【讨论】:
Select * From (select ... intersect select ...) as intersectedTable where ...
【讨论】:
您想使用派生表。
SELECT value,data FROM
(SELECT value,data FROM table1 union select value,data from table2) t
WHERE value=5;
【讨论】:
由于您是相交的,因此您对两个 SELECT 中的任何一个设置的任何条件也将适用于整个条件...
所以,最简单的方法就是
SELECT ... FROM ... WHERE (condition)
INTERSECT
SELECT ... FROM ... WHERE (another condition)
【讨论】: