Ich habe 3 Felder: ID, Datum, Rate. Für jede ID gibt es mehr Termine und Preise aus einer Tabelle kommen werde ichID mit mehreren Einträgen muss zu einem Eintrag pro ID geändert werden
ID Date Rate
1 12/12/11 1.2
1 08/10/10 1.8
2 01/01/09 0.2
2 03/12/08 0.5
3 06/01/12 1.1
3 07/20/10 0.9
....
Ich brauche eine Lösung ‚Geschichte‘ nennen, die ID hat, seit 2011, seit 2010, seit 2009 mit den entsprechenden Sätzen (oder null/leer, wenn für dieses Jahr kein Tarifeintrag vorhanden ist), füllen Sie die Datumsfelder.
Ich habe Schwierigkeiten, einen Drehpunkt zu bekommen, um damit zu arbeiten, und versuche jetzt, Fallanweisungen zu verwenden.
Dies ist, was ich bisher:
SELECT id, date, rate,
CASE WHEN date <= '12/31/11' AND date >= '1/1/11' THEN rate END AS '2011',
CASE WHEN date <= '12/31/10' AND date >= '1/1/10' THEN rate END AS '2010',
CASE WHEN date <= '12/31/09' AND date >= '1/1/09' THEN rate END AS '2009'
FROM history
ORDER BY id
Problem, das ich ist immer bin jetzt jede andere Preise seine eigene Linie hat. ex:
ID Date2011 Date2010 Date2009 1 1.2 null null 1 null 1.8 null 2 null null 0.2 3 null 0.9 null
Haben Sie etwas noch versucht? –
Was Sie suchen, ist der PIVOT-Befehl: http://msdn.microsoft.com/en-us/library/ms177410.aspx – diaho
@specialed hast du meine PIVOT Antwort gesehen? – Taryn