我有如下表:SQL查詢使用CASE轉動列時
Bank:
name val amount
John 1 2000
Peter 1 1999
Peter 2 1854
John 2 1888
我想寫一個SQL查詢,得到下列結果:
name amountVal1 amountVal2
John 2000 1888
Peter 1999 1854
到目前爲止,我有這樣的:
SELECT name,
CASE WHEN val = 1 THEN amount ELSE 0 END AS amountVal1,
CASE WHEN val = 2 THEN amount ELSE 0 END AS amountVal2
FROM bank
然而,它給略有錯誤的結果:
name amountVal1 amountVal2
John 2000 0
Peter 1999 0
John 0 1888
Peter 0 1854
如何修改我的查詢以提供正確的表示? 謝謝
這個技巧。我嘗試使用組沒有SUM,它不起作用。我現在看到,您可以使用相同的名稱,並在列amount amount1/2下具有許多不同的值。因此,我假設'按名稱組'不會知道如何處理數字。在這種情況下,我們需要告訴它來解決它們!謝謝您的幫助 – Roger 2011-05-01 02:39:01