SQL服务器 - 选择列有两个匹配的其他列
问题描述:
我有一个表像这样:SQL服务器 - 选择列有两个匹配的其他列
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
我已经尝试了一些东西,但不能得到我想要的东西,有人可以帮助我在这里。
答
您可以使用intersect运算符,它会返回由两个输入查询输出的不同行。
所以第一个查询应该是从具有columnb = 1
记录columna
值,第二个 - 从具有columnb = 3
记录columna
值,然后两个相交查询的结果。
select columna
from your_table
where columnb = 1
intersect
select columna
from your_table
where columnb = 3
答
SELECT DISTINCT(t1.columnA)
FROM Table_Name t1
INNER JOIN Table_Name t2 ON t1.columnA = t2.columnB
你能来请您到目前为止已经试过什么更具体的? – EGOrecords