Ik ben bezig met een project voor het bijhouden van een urenregistratie. Ik heb hiervoor een aantal tabellen: tblprojecten,tblmeldingen en tbluren.
Allen hebben het unieke sleutelveld ID meegekregen. In de tabel uren heb ik o.a. de datum, starttijd,projectid,meldingsid,medewerker. Als er op een bepaald moment gewerkt is aan een project, staat in dit veld hetid van tblprojecten. Is er werk verricht op basis van een melding, dan staat hier het id van tblmeldingen. Het andere veld is dan leeg (NULL).
Nu wil ik een query bouwen die alle urenregistraties laat zien in een bepaalde periode, bv 25/5. Echter zie ik wel de gegevens van de projecten 1 maal, maar de meldingen komen 4 maal terug (ik heb op dit moment 4 PROJECTEN in de database staan).
Mijn query ziet er zo uit:
Wat doe ik verkeerd. Ik wil dus ook de melding maar 1 maal terug zien.
Allen hebben het unieke sleutelveld ID meegekregen. In de tabel uren heb ik o.a. de datum, starttijd,projectid,meldingsid,medewerker. Als er op een bepaald moment gewerkt is aan een project, staat in dit veld hetid van tblprojecten. Is er werk verricht op basis van een melding, dan staat hier het id van tblmeldingen. Het andere veld is dan leeg (NULL).
Nu wil ik een query bouwen die alle urenregistraties laat zien in een bepaalde periode, bv 25/5. Echter zie ik wel de gegevens van de projecten 1 maal, maar de meldingen komen 4 maal terug (ik heb op dit moment 4 PROJECTEN in de database staan).
Mijn query ziet er zo uit:
code:
1
2
3
4
5
6
7
8
| SELECT tbluren.*, tblprojecten.projectnummer,tblwerkbonnen.bonnummer, tblrelaties.bedrijfsnaam, tblwerknemers.* From tbluren, tblprojecten, tblwerknemers, tblwerkbonnen, tblrelaties WHERE gebruikersid=tblwerknemers.id AND tblwerknemers.id=1AND (tblprojecten.id=tbluren.project OR tbluren.werkbon=tblwerkbonnen.id) AND tblrelaties.id = tbluren.relatieid AND datum=#2004-05-25# |
Wat doe ik verkeerd. Ik wil dus ook de melding maar 1 maal terug zien.