1. #1
    Bauhaus's Avatar
    Registered
    25/04/04
    Posts
    751
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/12

    Probleem met SQL query in Access

    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 ?
    no votes  

  2. #2
    Bauhaus's Avatar
    Registered
    25/04/04
    Posts
    751
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/12
    Nog wat info ter verduidelijking:

    Het rooster dat als basis dient voor de database: Rooster
    Zoals je ziet zijn de winkels hier de kolomkoppen en de datums de rijkoppen.

    Mijn database: Rooster

    De uitvoer van de query zou er bv. zo uitzien:

    Code:
     WinkelID1 WinkelID2 WinkelID3 ...
    Datum1   NaamID  NaamID   NaamID
    Datum1   NaamID  NaamID    Null
    Datum1   NaamID     Null        Null
    Datum2   NaamID  NaamID   NaamID
    Datum2   NaamID     Null       NaamID
    Datum3   NaamID  NaamID   NaamID
    Datum3   NaamID  NaamID   NaamID
    ...            ...            ...            ...
    (Ik heb voor mijn query momenteel enkel de tabel WinkelsPersoon gebruikt, kwestie van simpel te beginnen. Eens de query werkt kan ik ze uitbreiden door de NaamID's dan te laten verwijzen naar hun respectievelijke namen in de andere tabellen.)

    Zoals je ziet zullen er ook gaten (Null) zitten in de query, het aantal personen verschilt immers per winkel én datum.
    Wellicht zal ik hier gebruik moeten maken van een LEFT JOIN en RIGHT JOIN, maar heb dus geen flauw idee hoe.
    no votes  

  3. #3
    Ice's Avatar
    Registered
    31/07/02
    Location
    Kontich
    Posts
    602
    iTrader
    16 (100%)
    Mentioned
    0 Post(s)
    Reputation
    0/0
    Er is een reden waarom ze programmeertalen / reporting tools hebben uitgevonden...
    When you're slapped, you'll take it and like it - Sam Spade
    Make way for the bad guy! - Tony Montana
    When a girl has a heart of stone, there's only one way to melt it. Just add Ice.
    no votes  

  4. #4
    Moto's Avatar
    Registered
    17/07/02
    Location
    Wilrijk
    Posts
    1,994
    iTrader
    2 (100%)
    Mentioned
    0 Post(s)
    Reputation
    9/16
    k dacht eerst om te werken met een crosstab query
    denk dat het daarmee lukt ze, moest ge den excel + db kunnen oploaden (test-data ofzo) zou ik der wel eens naar kijken

    Er is een reden waarom ze programmeertalen / reporting tools hebben uitgevonden...
    Pfff echte programmeurs doen dat in Sql
    no votes  

  5. #5
    Bauhaus's Avatar
    Registered
    25/04/04
    Posts
    751
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/12
    Quote Originally Posted by Moto View Post
    This quote is hidden because you are ignoring this member. Show
    denk dat het daarmee lukt ze, moest ge den excel + db kunnen oploaden (test-data ofzo) zou ik der wel eens naar kijken
    Check PM.
    no votes  

  6. #6
    Moto's Avatar
    Registered
    17/07/02
    Location
    Wilrijk
    Posts
    1,994
    iTrader
    2 (100%)
    Mentioned
    0 Post(s)
    Reputation
    9/16
    Heb der vandaag naar gekeken maar deze is toch beter met wat programmeer-werk op te lossen, die namen zo krijgen is toch iets te klote om in sql te doen
    no votes  

  7. #7
    Bauhaus's Avatar
    Registered
    25/04/04
    Posts
    751
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/12
    ok, toch bedankt om eens te checken.
    no votes  

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

Log in

Log in