Situatie:
Ik heb twee tabellen, die een 1 op n relatie hebben:
naw(id, naam, adres, woonplaats)
order(id, naw_id, omschrijving)
Voor de eenvoud heb ik de tabellen flink vereenvoudigd en de tabel- en kolomnamen zijn fictief.
Probleem:
De klant wil graag op korte termijn enkele rapportages hebben. In plaats van het bouwen van een compleet nieuwe report, doen we dit daarom in de vorm van een puntkommagescheiden ascii-bestand, dat door een stuk code wordt gegenereerd. Dit bestand kan onder andere eenvoudig in ms excel worden gebruikt. De input is uiteraard een sql-query en enkele inputvariabelen zodat de gebruiker een bepaalde selectie kan maken. Een tekortkoming van de code die wordt gebruikt om deze bestanden te genereren is dat het (nog) geen master-detail rapportages kan genereren.
Ik wil nu een rapportage hebben waarbij de selectie per record de naw-gegevens bevat, inclusief de eerste 4 orderomschrijvingen. (het klinkt onlogisch en lelijk, maar de klant wil het nu eenmaal zo)
Dit ziet er dus als volgt uit:
Uiteraard zijn order1 tm order4 aparte records uit tabel order. Nu is mijn vraag hoe ik met goed fatsoen een sql-query kan maken die dit voor elkaar kan krijgen. Er wordt namelijk in de select-clause 4 keer iets met de kolom order.omschrijving gedaan. Is dit uberhaupt oplosbaar, of moet dit alsnog een master-detail rapportage worden (wat we vanwege de implementatie van de code liever niet willen hebben)
Ik heb twee tabellen, die een 1 op n relatie hebben:
naw(id, naam, adres, woonplaats)
order(id, naw_id, omschrijving)
Voor de eenvoud heb ik de tabellen flink vereenvoudigd en de tabel- en kolomnamen zijn fictief.
Probleem:
De klant wil graag op korte termijn enkele rapportages hebben. In plaats van het bouwen van een compleet nieuwe report, doen we dit daarom in de vorm van een puntkommagescheiden ascii-bestand, dat door een stuk code wordt gegenereerd. Dit bestand kan onder andere eenvoudig in ms excel worden gebruikt. De input is uiteraard een sql-query en enkele inputvariabelen zodat de gebruiker een bepaalde selectie kan maken. Een tekortkoming van de code die wordt gebruikt om deze bestanden te genereren is dat het (nog) geen master-detail rapportages kan genereren.
Ik wil nu een rapportage hebben waarbij de selectie per record de naw-gegevens bevat, inclusief de eerste 4 orderomschrijvingen. (het klinkt onlogisch en lelijk, maar de klant wil het nu eenmaal zo)
Dit ziet er dus als volgt uit:
code:
1
2
3
| naam adres woonplaats order1 order2 order3 order4 pietje hoofdstraat 11 amsterdam blabla1 blablab2 blabla3 blabla4 klaas de dam 10 amsterdam blaat burp barf |
Uiteraard zijn order1 tm order4 aparte records uit tabel order. Nu is mijn vraag hoe ik met goed fatsoen een sql-query kan maken die dit voor elkaar kan krijgen. Er wordt namelijk in de select-clause 4 keer iets met de kolom order.omschrijving gedaan. Is dit uberhaupt oplosbaar, of moet dit alsnog een master-detail rapportage worden (wat we vanwege de implementatie van de code liever niet willen hebben)
[ Voor 3% gewijzigd door JeroenTheStig op 23-08-2005 20:45 ]