我想知道是否可以在Oracle 11g中將某些行顯示爲列。Oracle SQL - 行插入列
我想下面
id language text
--------------------------
1 english some example
1 german an example
2 english test
2 german test123
要顯示這樣的:
id english german
---------------------------------
1 some example an example
2 test test123
我嘗試使用pivot
但無法弄清楚如何正確處理它,因爲pivot
要求一個聚合函數。
這是整點... PIVOT本身就是一個聚集函數;它通常在沒有聚合的情況下使用(只有一個值需要旋轉),然後可以使用'max()'或'min()',因爲vkp在他的解決方案中已經顯示出來。 PIVOT不是爲轉置表而創建的;它是爲了在「文本」列中可能有數字(美元數量等)的情況而創建的,每個「id」 - 「language」組合中有多行,並且將使用pivoting來將這些數字加起來,或者找到平均等等。所以 - 當你使用PIVOT來轉置表時,你仍然必須使用'max()'或'min()'。 – mathguy