SQL-query pivot eine Spalte mit FALL WENN

Ich habe die folgende Tabelle:

Bank:
name  val   amount
John   1     2000
Peter  1     1999
Peter  2     1854
John   2     1888

Bin ich zu schreiben versucht, eine SQL-Abfrage zu geben das folgende Ergebnis:

name  amountVal1 amountVal2  
John    2000        1888   
Peter   1999        1854    

Bisher habe ich dieses:

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

Jedoch, es gibt den leicht falschen Ergebnis:

name  amountVal1 amountVal2  
John    2000        0
Peter   1999        0
John    0          1888   
Peter   0          1854    

Wie kann ich ändern, meine Abfrage zu geben, die richtige Präsentation?
Dank

InformationsquelleAutor Roger | 2011-05-01

Schreibe einen Kommentar