Bauhaus
Legacy Member
Voor een maat ben ik bezig een programma te maken met een database.
Ik heb van hem een Excell rooster gekregen dat als basis dient voor deze database. In het rooster hebben we WinkelID's als kolomkoppen, Datums als rijkoppen en in elke cel de NaamID's van de personen die dan in een specifieke winkel op een bepaalde datum werken.
Het lukt me echter niet om een SQL query te maken die de gegevens afbeeldt zoals op het rooster.
Ik dacht eerst om te werken met een crosstab query waarbij je dan rijkoppen & kolomkoppen hebt, maar de data in de cellen moet echter het resultaat zijn van een statische functie.
Ik heb dan een self-join geprobeerd, waarbij er dan voor elke WinkelID een nieuwe kolom wordt aangemaakt:
SELECT a1.Datum, a1.NaamID, a2.NaamID
FROM WinkelsPersoon AS a1, WinkelsPersoon AS a2
WHERE a1.Datum=a2.Datum and a1.WinkelID=1 and a2.WinkelID=2;
Maar dan krijg ik dit:
Datum a1.NaamID a2.NaamID
2009-02-02 3 6
2009-02-02 39 6
2009-02-02 7 6
2009-02-02 2 6
2009-02-02 3 7
2009-02-02 39 7
2009-02-02 7 7
2009-02-02 2 7
Voor elke NaamID in de 2de kolom worden alle NaamID's uit de eerste kolom herhaalt...
Terwijl het zo zou moeten zijn:
Datum a1.NaamID a2.NaamID
2009-02-02 3 6
2009-02-02 39 7
2009-02-02 7 Null
2009-02-02 2 Null
Iemand hier die een oplossing weet ?
Ik heb van hem een Excell rooster gekregen dat als basis dient voor deze database. In het rooster hebben we WinkelID's als kolomkoppen, Datums als rijkoppen en in elke cel de NaamID's van de personen die dan in een specifieke winkel op een bepaalde datum werken.
Het lukt me echter niet om een SQL query te maken die de gegevens afbeeldt zoals op het rooster.
Ik dacht eerst om te werken met een crosstab query waarbij je dan rijkoppen & kolomkoppen hebt, maar de data in de cellen moet echter het resultaat zijn van een statische functie.
Ik heb dan een self-join geprobeerd, waarbij er dan voor elke WinkelID een nieuwe kolom wordt aangemaakt:
SELECT a1.Datum, a1.NaamID, a2.NaamID
FROM WinkelsPersoon AS a1, WinkelsPersoon AS a2
WHERE a1.Datum=a2.Datum and a1.WinkelID=1 and a2.WinkelID=2;
Maar dan krijg ik dit:
Datum a1.NaamID a2.NaamID
2009-02-02 3 6
2009-02-02 39 6
2009-02-02 7 6
2009-02-02 2 6
2009-02-02 3 7
2009-02-02 39 7
2009-02-02 7 7
2009-02-02 2 7
Voor elke NaamID in de 2de kolom worden alle NaamID's uit de eerste kolom herhaalt...
Terwijl het zo zou moeten zijn:
Datum a1.NaamID a2.NaamID
2009-02-02 3 6
2009-02-02 39 7
2009-02-02 7 Null
2009-02-02 2 Null
Iemand hier die een oplossing weet ?


