2017-08-09 32 views
0

僅選擇數據我有我不能沒有說明在此示例中,這描述了一個問題: 所以有2列,如:SQL:從一列,用於從第二列中的值中的一個爲x

X  Y 
A  2 
A  1 
A  3 
B  3 
C  2 
A  1 
D  2 
B  1 
B  3 
C  1 
A  1 
D  3 
D  1 

,現在我想從X,其中從Y中的一個值是2 所以我的輸出應該看起來像只選擇數據:

X  Y 
    A  2 
    A  1 
    A  3 
    C  2 
    A  1 
    D  2 
    C  1 
    A  1 
    D  3 
    D  1 

因爲Y = 2 X = B在主表中不存在。 我的問題是這個操作的查詢是什麼?我試着用CASE做些什麼,但有些東西沒有解決。

回答

0

嘗試

SELECT X FROM Table WHERE X IN (SELECT X FROM Table WHERE Y=2) 

,或者嘗試

SELECT t1.X FROM Table t1 
INNER JOIN Table t2 ON t1.X = t2.X 
WHERE t2.Y = 2 
+0

作品完美的我,謝謝! – JeffTheKiller

+0

@JeffTheKiller然後標記它接受:) –

+0

現在我怎麼能從輸出中刪除那些行,例如Y = 1? Y =!1到底是不恰當的。 – JeffTheKiller

0

嘗試一個子查詢:

SELECT X FROM table WHERE X IN (SELECT X FROM table WHERE Y = 2); 
相關問題