sql

Status
Niet open voor verdere reacties.

tommich

Gebruiker
Lid geworden
9 okt 2011
Berichten
22
Ik ben een query ah samenstellen maar raak er langs geen kanten uit.
Het probleem is:Toon het aantal uitleningen per auteur (ook auteurs met 0 uitleningen worden getoond)
Er zijn 3 DB:auteur(aut_id,naam),boeken(boek_id,titel,aut_id)en uitleen(uitln_id,boek_id).

Ik heb gemaakt:
Code:
select naam, count(*)
from auteur a,boeken b,uitleen u
where a.aut_id=b.aut_id and u.boek_id=b.boek_id
group by a.naam
Ik krijg nu dus de naam en de aantallen van de auteurs die een boek hebben uitgeleend,hoe krijg ik nu ook die eruit die geen boek hebben uitgeleend?

alvast bedankt
 
Inderdaad,ik heb nu nog een query aangemaakt om ook de auteurs met 0 uitleningen eruit te halen,nl:
Code:
select UITGEVER
from UITGEVER
where uitg_id not in(select uitg_id from BOEKEN where boek_id in(select boek_id from UITLEEN))
Hoe zou ik nu deze 2 querys kunnen samenvoegen tot 1query.
Om alle misverstanden uit de weg te ruimen:ik heb wel degelijk 3 tables en geen 3 databases,dit had ik verkeerd omschreven
 
Deze dan?

SELECT naam, COUNT (*)
FROM auteur a, uitleen u left join boeken b on u.boek_id = b.boek_id
WHERE a.aut_id = b.aut_id
GROUP BY a.naam
 
idd,
die join was de oplossing;onderstaande query werkt:
Code:
select naam, count(boek_id) as uitleningen
from AUTEUR a
left join BOEKEN b on b.auteur_id=a.auteur_id and
(b.boek_id in(select boek_id from UITLEEN))
group by naam
bedankt
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan