2013-01-09 164 views
2

我有一個表,如:SQL查詢來一列,忽略空值

Col1 Col2 Col3 Col4 
1   a 
1  b   
1    c 
2  e 
2   f 
2    g 

我需要編寫一個查詢,將有這樣

Col1 Col2 Col3 Col4 
1  a  b c 
2  e  f g 

我使用的是Oracle輸出10克

+1

如果在col2的多個條目在Col1中的值相同,會發生什麼? – Mark

+0

我嘗試了Col1組合,但無法使用它,因爲我需要顯示所有列 – Stu

+0

@Mark Col1中Col1中只有一個相同值的條目 – Stu

回答

7

如果你只有每列的值,那麼你可能能夠使用聚合函數:

select 
    col1, 
    max(col2) col2, 
    max(col3) col3, 
    max(col4) col4 
from yourtable 
group by col1 

SQL Fiddle with Demo

結果是:

| COL1 | COL2 | COL3 | COL4 | 
----------------------------- 
| 1 | b | a | c | 
| 2 | e | f | g | 
+0

工程不錯..謝謝很多 – Stu

+0

@Prash歡迎您。如果您發現此答案有幫助或對您的問題有任何其他答案,請務必通過答案左側的複選標記接受。它有助於網站的未來訪問者知道已選擇的答案,並且您可以接受代表。請參閱[如何接受答案的工作](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)瞭解更多詳情。 :) – Taryn