Ik heb voor (een urensysteem) de volgende 3 tabellen:
tProjecten
id (pri. key, auto inc.)
klantid
projectnaam
projectnummer
maxuren
memo
archief
tUren
id (pri. key, auto inc.)
projectid
werkzaamheidid
werknemerid
aantal (uren)
min
datum
werkzaamheden
tKlanten
id (pri. key, auto inc.)
bedrijfsnaam
contactpersoon
vAdres
vPostcode
vPlaats
vLand
pAdres
pPostcode
pPlaats
pLand
telefoon1
telefoon2
kvk
btw
bank
memo
email
website
archief
Nu wil uit deze 3 tabellen alle gegevens van een project selecteren met daarbij de bedrijfsnaam van de klant die erbij hoort (tKlanten.bedrijfsnaam), en de tijd die er aan dat project gewerkt is (sum(tUren.aantal) en sum(tUren.min)).
Om dit voor elkaar te krijgen, heb ik devolgende query bedacht:
Dit werkt goed, maar nu loop ik vast op iets wat volgens mij heel simpel zou moeten zijn
Ik wil namelijk ook 1 bepaald project kunnen selecteren. Terwijl deze query ALLE projecten uit de database leest. Ik wil dus gewoon een toevoeging als "where tProjecten.id=X". Ik weet alleen niet hoe ik dit voor elkaar moet krijgen.
Wanneer ik achter de Query bijvoorbeeld "and tProjecten.id=1" toevoeg. Dat krijg ik wel data uit de query, maar dat is NIET het juiste record
Mischiend dat iemand anders hier even naar zou kunnen kijken. Dit lijkt me heel simpel, maar ik kom er niet uit
tProjecten
id (pri. key, auto inc.)
klantid
projectnaam
projectnummer
maxuren
memo
archief
tUren
id (pri. key, auto inc.)
projectid
werkzaamheidid
werknemerid
aantal (uren)
min
datum
werkzaamheden
tKlanten
id (pri. key, auto inc.)
bedrijfsnaam
contactpersoon
vAdres
vPostcode
vPlaats
vLand
pAdres
pPostcode
pPlaats
pLand
telefoon1
telefoon2
kvk
btw
bank
memo
website
archief
Nu wil uit deze 3 tabellen alle gegevens van een project selecteren met daarbij de bedrijfsnaam van de klant die erbij hoort (tKlanten.bedrijfsnaam), en de tijd die er aan dat project gewerkt is (sum(tUren.aantal) en sum(tUren.min)).
Om dit voor elkaar te krijgen, heb ik devolgende query bedacht:
code:
1
2
3
4
5
6
7
8
9
| SELECT tProjecten.*, tKlanten.bedrijfsnaam, sum(tUren.aantal) uur, sum(tUren.min) min FROM tProjecten LEFT JOIN tKlanten ON tProjecten.klantid=tKlanten.id LEFT JOIN tUren ON tUren.projectid=tProjecten.id group by tUren.projectid; |
Dit werkt goed, maar nu loop ik vast op iets wat volgens mij heel simpel zou moeten zijn
Ik wil namelijk ook 1 bepaald project kunnen selecteren. Terwijl deze query ALLE projecten uit de database leest. Ik wil dus gewoon een toevoeging als "where tProjecten.id=X". Ik weet alleen niet hoe ik dit voor elkaar moet krijgen.
Wanneer ik achter de Query bijvoorbeeld "and tProjecten.id=1" toevoeg. Dat krijg ik wel data uit de query, maar dat is NIET het juiste record
Mischiend dat iemand anders hier even naar zou kunnen kijken. Dit lijkt me heel simpel, maar ik kom er niet uit