Ok, ik zit weer met een probleem, dit zijn de tabellen:
Reis:
*reisnr PK
*vertrekdatum
*reisduur
*prijs
Deelname:
*reisnr (FK van reis)
*klantnr (FK van klant)
Nu is mijn opdracht die ik moeten maken:
Geef van elke reis het reisnummer en het aantal deelnemers. Zorg dat ook de reizen waarvoor nog geen deelnemers zijn ingeschreven in het overzicht zijn opgenomen. Orden het overzicht op vertrekdatum.
Na een hele tijd klooien ben ik er nog steeds niet uit. Dit is wat ik er van heb gemaakt. Het probleem is nu dat de query alleen reizen aangeeft waarin inschrijvingen zijn gedaan. Maar álle reizen moeten worden weergegeven. Dit heeft natuurlijk met die relatie (inner join) te maken.
iemand een idee?
(trouwens, ik heb al iets met union geprobeerd, maar dat lukt niet omdat dat niet ondersteund word door ms sql)
Reis:
*reisnr PK
*vertrekdatum
*reisduur
*prijs
Deelname:
*reisnr (FK van reis)
*klantnr (FK van klant)
Nu is mijn opdracht die ik moeten maken:
Geef van elke reis het reisnummer en het aantal deelnemers. Zorg dat ook de reizen waarvoor nog geen deelnemers zijn ingeschreven in het overzicht zijn opgenomen. Orden het overzicht op vertrekdatum.
Na een hele tijd klooien ben ik er nog steeds niet uit. Dit is wat ik er van heb gemaakt. Het probleem is nu dat de query alleen reizen aangeeft waarin inschrijvingen zijn gedaan. Maar álle reizen moeten worden weergegeven. Dit heeft natuurlijk met die relatie (inner join) te maken.
code:
1
2
3
4
5
6
| SELECT Reis.vertrekdatum, Reis.reisnr, COUNT(Deelname.klantnr) AS AantalDeelnemers
FROM Deelname INNER JOIN
Reis ON Deelname.reisnr = Reis.reisnr
GROUP BY Reis.reisnr, Reis.vertrekdatum
HAVING (Reis.reisnr >= 0)
ORDER BY Reis.vertrekdatum |
iemand een idee?
(trouwens, ik heb al iets met union geprobeerd, maar dat lukt niet omdat dat niet ondersteund word door ms sql)