2016-01-13 96 views
1

我有一個表像這樣: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 

我已經嘗試了一些東西,但不能得到我想要的東西,有人可以幫助我在這裏。

+0

你能來請您到目前爲止已經試過什麼更具體的? – EGOrecords

回答

1

您可以使用intersect運算符,它會返回由兩個輸入查詢輸出的不同行。

所以第一個查詢應該是從具有columnb = 1記錄columna值,第二個 - 從具有columnb = 3記錄columna值,然後兩個相交查詢的結果。

select columna 
from your_table 
where columnb = 1 

intersect 

select columna 
from your_table 
where columnb = 3 
0
SELECT DISTINCT(t1.columnA) 
FROM Table_Name t1 
INNER JOIN Table_Name t2 ON t1.columnA = t2.columnB 
相關問題