Alleen ik loop tegen een beperking van mijn kennis aan en kan via google niet een oplossing voor mijn probleem vinden.
Ik ben begonnen met de volgende sql query:
SELECT
SC450700.[SC45002] AS [StocCommGrp],
SC450700.[SC45003] AS [Klant],
SC450700.[SC45004] AS [Dicount0],
SC450700.[SC45005] AS [Dicount1],
SC450700.[SC45006] AS [Dicount2],
SC450700.[SC45007] AS [Dicount3],
SC450700.[SC45008] AS [Dicount4],
SC450700.[SC45009] AS [Dicount5],
SC450700.[SC45010] AS [Dicount6],
SC450700.[SC45011] AS [Dicount7],
SC450700.[SC45012] AS [Dicount8],
SC450700.[SC45013] AS [Dicount9]
FROM SC450700
Dan krijg ik als output:
10 KLANT 1 Dicount0 Dicount1 etc
10 KLANT 2 Dicount0 Dicount1 etc
20 KLANT 1 Dicount0 Dicount1 etc
20 KLANT 2 Dicount0 Dicount1 etc
etc
Nu wil ik:
.................DISCOUNT 10......DISCOUNT 11.....(....)..DISCOUNT 20........(etc)
KLANT 1....10 / Dicount0.......10 / Dicount1.......(....)...20 / Discount0....(etc)
(ik heb punten gebruikt om te zorgen dat de tabel een beetje duidelijk overkomt)
Nu heb ik dit een beetje gelukt door het volgende te doen:
CASE WHEN SC450700.[SC45002] = 10 THEN SC450700.[SC45004] END as [DISC CODE 10],
CASE WHEN SC450700.[SC45002] = 10 THEN SC450700.[SC45005] END as [DISC CODE 11],
(....)
CASE WHEN SC450700.[SC45002] = 20 THEN SC450700.[SC45004] END as [DISC CODE 20],
CASE WHEN SC450700.[SC45002] = 20 THEN SC450700.[SC45005] END as [DISC CODE 21],
CASE WHEN SC450700.[SC45002] = 20 THEN SC450700.[SC45006] END as [DISC CODE 22],
Nu krijg ik een mooie rij 10 - 19 en dan 20 - 29 maar die krijg ik niet achter elkaar. (ben dus halverwege de oplossing)
Nu zijn het 99 codes en ca. 80 klantgroepen.
De vraag is:
- hoe krijg ik een mooie matrix uit de SQL database?
- hoe kan ik dit voor elkaar krijgen zonder tientallen regels met CASE WHEN te maken.