query

Status
Niet open voor verdere reacties.

emou

Gebruiker
Lid geworden
29 aug 2017
Berichten
22
ik zoek oplossing voor volgende oefening:

 Open de database Filmclub3;
 Ontwerp een query die als resultaat een lijst toont van alle leden die nog nooit een film van het genre Nederlands ontleend hebben. (tip: je kan een query niet enkel op tabellen maar ook op andere query's baseren);
 De velden VolledigeNaam en Email moeten in het queryresultaat verschijnen;
 Bewaar de query onder de naam qseGeenNederlands.

alvast bedankt
 

Bijlagen

  • Filmclub3.zip
    73,7 KB · Weergaven: 28
Het lijkt erop dat je je huiswerkopdracht hier plaatst. Dat is niet de bedoeling.
 
Wat wél de bedoeling is: laten zien wat je al zelf gedaan hebt.
 
heb zelf een query gemaakt met de naam qseGeenNederlands maar het is niet juist.

ik vind ook geen query waarop ik mij zou kunnen baseren om de tweede query te maken.
 
Volgens mij hoef je geen eerste query te hebben, maar dan moet je met een subquery gaan werken, en dat is vermoedelijk nog iets te hoog gegrepen, er vanuit gaande dat we inderdaad met een schoolopdracht te maken hebben. Hoewel: de query qDubbeleFilms maakt óók gebruik van een subquery, dus dat lijkt er dan op dat je die techniek wél beheerst.
De reden dat jouw query niet werkt is een simpele: je hebt twee tabellen geselecteerd die niet aan elkaar gekkoppeld zijn. Access maakt dan een Cartesisch product, waarbij alle records van de ene tabel worden gekoppeld aan alle records aan de andere. En dat moet in dit geval niet. Kijk maar eens naar de query [qseFilmsLeden] waarin de tabellen wél goed gekoppeld zijn.
Het verbaast me overigens dat je wél een subquery kunt maken, maar niet een query waarin de tabellen goed aan elkaar gekoppeld zijn.... Alsof je wél een Jumbojet kunt bouwen, maar geen papieren vliegtuigje kunt vouwen :)
 
ik volg gewoon uit interesse een cursus access. ben al bijna 60 en hoop tijdens mijn pensioen enkele nuttige databases te maken voor thuis. in deze cursus geven ze je oefeningen met de oplossing erbij.

kan je mij uitleggen welke eerste query ik moet maken?
 
ben al bijna 60 en hoop tijdens mijn pensioen enkele nuttige databases te maken voor thuis.
Een jonkie dus nog :D.
De twee-query oplossing heb ik zo snel niet paraat liggen, wel de één-query variant. En dat is deze:
PHP:
SELECT Leden.Lidnummer, StrConv([VolledigeNaam],3) AS Naam, Leden.Email
FROM Leden INNER JOIN (Genres INNER JOIN (Films INNER JOIN Uitleningen ON Films.Filmcode = Uitleningen.Filmcode) ON Genres.Gcode = Films.Gcode) 
     ON Leden.Lidnummer = Uitleningen.Lidnummer
GROUP BY Leden.Lidnummer, StrConv([VolledigeNaam],3), Leden.Email
HAVING (((Leden.Lidnummer) Not In (SELECT Leden.Lidnummer
FROM Leden INNER JOIN (Genres INNER JOIN (Films INNER JOIN Uitleningen ON Films.Filmcode = Uitleningen.Filmcode) ON Genres.Gcode = Films.Gcode) 
     ON Leden.Lidnummer = Uitleningen.Lidnummer
WHERE (((Genres.Gcode)=9))
GROUP BY Leden.Lidnummer)))
ORDER BY StrConv([VolledigeNaam],3);
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan