Archief - SQL PIVOT gebruiken?

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Forum

Legacy Member
Hallo,

Ik heb volgende tabel met 3 kolommen en enkele duizenden rijen:
De tabel bevat enkel rijen met een date in een bepaalde maand van een jaar.

Employee ID | Date | Amount
----------------------------
00023 | 1-05-12 | 3
00023 | 2-05-12 | 4
00023 | 7-05-12 | 1
....
00043 | 2-05-12| 4
.....
.....

Ik zou nu met sql deze tabel willen terugkrijgen met alle dagen van de maand als kolommen en op elke rij 1 employee rij met voor elke dag van de maand een kolom. Moet ik hier PIVOT of iets anders voor gebruiken?

Gewens resultaat:
Employee ID | 1-05 | 2-05 | 3-05 | 4-05 | 5-05 | 6-05 | 7-05 | ... | 31-05
------------------------------------------------------------------------
00023 | 3 | 4 | NULL| NULL | NULL | NULL | 1 | ... | NULL
....
00043 | NULL | 4 | .......................

Iemand enig idee, alvast bedankt

Cycloon

Legacy Member
Op deze manier kan het:

SELECT EID, CASE WHEN Day(Date) = 1 THEN AMOUNT ELSE 0 END, CASE WHEN Day(Date) = 2 THEN AMOUNT ELSE 0 END, ... (zo voor alle dagen)
FROM Tabel
GROUP BY EID

Naar gelang je SQL engine zal je mss nog een aggregaat functie moeten toevoegen rond al die cases.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan