我有一个相当具体的查询,我无法找到答案(可能我不知道我必须谷歌的哪种关键字)。假设我有一个关系表,将2个表放在关系中。因此,所讨论的表是一组两个外国ID的元组。 作为一个简单的例子,我们假设该表包含两个元组{(1,3),(1,4)} 现在我要做的查询是这样的:
SELECT id1 FROM table WHERE id2 IN (3) AND id2 IN (4)
显然,没有这样的行可以满足这两个条件。这就是问题所在。我希望一行满足第一个条件而另一个满足第二个条件,而它们都应该在结果中具有相同的id1。所以我期望的结果是1。 一般来说,这些条件可能超过两个...... 我希望这很清楚。
答案 0 :(得分:0)
您可以使用:
SELECT id1
FROM tab
WHERE id2 IN (3,4) -- #1 here goes ids
GROUP BY id1
HAVING COUNT(DISTINCT id2) = 2; -- here goes number of elements from #1