2014-02-25 44 views
0

我有一個像SQL選擇在一列獨特的價值

| ID | COL1 | COL2 | 
| 1 | 1 | w | 
| 1 | 2 | x | 
| 2 | 1 | y | 
| 2 | 2 | z | 

表當我查詢它,我想獲得

| ID | COL2:1 | COL2:2 | <--- (when COL1=1 and COL1 =2) 
| 1 | w | x | 
| 2 | y | z | 

我試過GROUP BYJOIN爲同一張桌子,但我得到重複和不分組數據。我需要一些指導來獲得我期待的結果。

+0

包括你在你的問題試圖查詢。 –

回答

2

您可以使用MAX()CASE聲明此:

SELECT ID 
     ,MAX(CASE WHEN Col1 = 1 THEN Col2 END) AS Col2_1 
     ,MAX(CASE WHEN Col1 = 2 THEN Col2 END) AS Col2_2 
FROM YourTable 
GROUP BY ID 

演示:SQL Fiddle

+0

+1 for SQL小提琴...我不知道那個網站:) – Vince

+0

謝謝山羊CO!我欠你一個大人物! 它似乎我需要使用MAX函數只是爲了能夠GROUP BY,謝謝大[SQL小提琴](http://sqlfiddle.com/#!4/63c03/2/0)我會用它! – Sito