SQL:选择存在于具有复合键的选择查询中的表中的所有记录

时间:2013-11-20 20:58:21

标签: sql sqlite

我想从表中选择也存在于select查询中的所有记录。这种情况下的表有一个复合键。

我想要的东西
SELECT * FROM Table
WHERE 
(FOO, BAR) IN
SELECT...

(FOO, BAR)是我的复合键,SELECT...是选择查询。我应该如何改变上述内容才能使其发挥作用?

2 个答案:

答案 0 :(得分:1)

看起来你正在寻找的是EXISTS

SELECT * 
FROM [Table] A
WHERE EXISTS (SELECT *
              FOR [SomeTable] B 
              WHERE A.FOO = B.FOO AND A.BAR = B.BAR)

答案 1 :(得分:0)

尝试此查询:

SELECT *
FROM Table
JOIN (SELECT...
) AS a 
ON Table.FOO=a.FOO AND Table.BAR=a.BAR