Archief - [ALG]SQL Select statement met joins

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Spacy2003

Legacy Member
We zijn nu met school bezig aan een project kort even de doelstelling uitleggen.
We hebben een dvd winkel en om alle gegevens van leden en dvd's bij te houden hebben we het volgende database systeem.

-Lid (hierin staan de gegevens van de leden met als PK nummer)
-Dvd (Hierin staan de titels van de DVD's met als PK nrtitel)
-Exemplaar (Een DVD kan meerdere keren in de collectie zitten met als PK serieel_nr en een FK naar DVD met als naam nrtitel)
-Reservatie (Hierin staan de gereserveerde DVD's met als PK nrreservatie en als FK's, lidnummer naar lid en serieel_nr naar exemplaar)
-Verhuring (Hierin staan de verhuringen met als PK nrverhuring en als FK's lidnummer naar lid en serieel_nr naar exemplaar)
-Verhuurlijn (hierin staan de dvd's die de klanten hebben meegenomen met samengestelde PK nrverhuring en lijnnr en de FK's zijn nrverhuring naar verhuring, serieel_Nr naar exemplaar)

Nu hebben we hierrond een vragenlijst gekregen en ik zit vast bij de laatste vraag !

12. Geef de verschillende titels van dvd’s die sinds begin die jaar nog niet verhuurd werden.

Nu moet je dus eerst de datum vergelijken met de huidige datum en de datum zit dus in verhuring, dan moet je kijken welke dvd's toen op die datum verhuurd waren die staan in verrhuurlijn, vervolgens moet je in exemplaar gaan kijken welke nr van dvd dat is en daarna ga je kijken in dvd met welk nr die dvd overeenkomt. Maar nu heb ik de verhuurde DVD's van dat jaar en ik heb het omgekeerde nodig.

Dit is de query hiervan:
select distinct d.titel
from dvd d, exemplaar e, verhuring v, verhuurlijn vl
where v.datum between '2006-01-01' and curdate() and v.nrverhuring = vl.nrverhuring and vl.serieel_nr = e.serieel_nr and e.nrtitel = d.nrtitel;

Iemand enig idee ?
Ik zit hier al even op te zoeken, bedankt op voorhand !;)

[BAT] Hydra

Legacy Member
Code:
[SIZE="3"]SELECT  dvd.titel
FROM    exemplaar exemplaar, dvd dvd,
	verhuurlijk verhuurlijn
WHERE	dvd.nrtitel = exemplaar.nrtitel AND
	exemplaar.serieel_nr = verhuurlijn.serieel_nr AND
	[COLOR="Red"]NOT EXISTS  
       ([/COLOR]SELECT *
        FROM   verhuring verhuring
        WHERE  verhuring.nrverhuring = verhuurlijn.nrverhuring AND
               verhuring.datum BETWEEN '2006-01-01' AND curdate()[COLOR="Red"])[/COLOR][/SIZE]

Uitleg, we nemen alle titels van de dvd's waarvoor er nog geen verhuring bestaat tussen 1jan2006 en nu.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan