Weergegeven resultaten: 1 t/m 2 van 2
  1. #1
    Member Spacy2003's schermafbeelding
    Lid sinds
    28/05/03
    Locatie
    Diepenbeek
    Berichten
    2.293
    iTrader
    0

    [PROG]SQL Select statement met joins

    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 !
    Laatst gewijzigd door Spacy2003; 10 oktober 2006 om 20:19 Reden: tag

  2. #2
    Member [BAT] Hydra's schermafbeelding
    Lid sinds
    21/07/02
    Berichten
    2.823
    iTrader
    0
    Code:
    SELECT  dvd.titel
    FROM    exemplaar exemplaar, dvd dvd,
    	verhuurlijk verhuurlijn
    WHERE	dvd.nrtitel = exemplaar.nrtitel AND
    	exemplaar.serieel_nr = verhuurlijn.serieel_nr AND
    	NOT EXISTS  
           (SELECT *
            FROM   verhuring verhuring
            WHERE  verhuring.nrverhuring = verhuurlijn.nrverhuring AND
                   verhuring.datum BETWEEN '2006-01-01' AND curdate())
    Uitleg, we nemen alle titels van de dvd's waarvoor er nog geen verhuring bestaat tussen 1jan2006 en nu.

Discussie informatie

Users Browsing this Thread

Op dit moment bekijken 1 gebruikers deze discussie. (0 leden en 1 gasten)

Regels voor berichten

  • Je mag geen nieuwe discussies starten
  • Je mag niet reageren op berichten
  • Je mag geen bijlagen versturen
  • Je mag niet je berichten bewerken
  •