我不知道如何编写下面的查询。
我的桌子是
col1 col2
5 1
5 5
5 6
5 7
4 5
4 8
4 9
4 3
3 3
3 5
我需要选择不同的col1 id,其中两个参数都存在于col2中。 例如。如果我发送6,7它应该发送给我5
答案 0 :(得分:1)
这可能是最快的解决方案之一:
SELECT col1 -- already DISTINCT?
FROM tbl t1
JOIN tbl t2 USING (col1)
WHERE t1.col2 = 6
AND t2.col2 = 7;
假设PRIMARY KEY
上有UNIQUE
或(col1, col2)
约束,就像通常实施的那样。否则添加DISTINCT
。
还有许多其他方法可以实现关系划分。以下是一些:
答案 1 :(得分:0)
尝试:
SELECT col1
FROM mytable
WHERE col2 IN (6, 7)
GROUP BY col1
HAVING COUNT(DISTINCT col2) = 2