我有一张这样的表:
columna int
columnb int
一些示例数据:
columna columnb
1 1
1 2
1 3
2 1
2 2
2 4
3 1
3 3
3 7
4 3
5 2
5 3
我想选择columna
,其中columna
的相同值同时包含columnb
中的1和3。
所以我上面的示例结果应该是:
1
3
我尝试过很多东西,但却无法得到我想要的东西,有人可以帮助我。
答案 0 :(得分:1)
您可以使用intersect运算符,它返回两个输入查询输出的不同行。
因此,第一个查询应该是来自columna
的记录的columnb = 1
的值,第二个 - 来自具有columna
的记录的columnb = 3
的值,然后将两个查询的结果相交。
select columna
from your_table
where columnb = 1
intersect
select columna
from your_table
where columnb = 3
答案 1 :(得分:0)
SELECT DISTINCT(t1.columnA)
FROM Table_Name t1
INNER JOIN Table_Name t2 ON t1.columnA = t2.columnB