Select uit meerdere tabellen.....

Status
Niet open voor verdere reacties.

Snoekie21

Nieuwe gebruiker
Lid geworden
24 okt 2008
Berichten
2
Hallo allemaal,

Heb een select uit meerdere tabellen, maar zit met een empty set als er een veld nog niet is ingevuld in de hoofd tabel aangezien de waarde NULL niet voorkomt in de relatie tabel. Maar hoe omzeil ik de empty set als het veld (a1.id_bevestiging) nog niet is ingevuld in de hoofd tabel ?


select distinct a1.id
,a1.korte_omschrijving
,a1.omschrijving
,a2.naam
,a3.fullname
,a4.fullname
,DATE_FORMAT(a1.datum_invoer, '%d-%m-%Y')
,DATE_FORMAT(a1.datum_gereed, '%d-%m-%Y')
,DATE_FORMAT(a1.datum_bevestiging, '%d-%m-%Y')
from
klachten a1
,modules a2
,gebruikers a3
,gebruikers a4
where a1.datum_afronding IS NULL
and a1.id_locatie=a2.id
and a1.id_invoer=a3.id
and a1.id_bevestiging=a4.id
and a1.id_locatie in (SELECT ID_MODULE FROM functiesmodulesgebruikers where id_gebruiker=$id_user)";

Bij voorbaad dank,
Groet Bart.
 
Door gebruik te maken van een "Left/right/outer join"..

de syntax is

select * from a left join b on a.id = b.id

dit geeft ook de records waarvoor geldt b.id = null

succes,
 
Hartelijk dank voor de update, dit is em geworden;

select distinct a1.id
,a1.korte_omschrijving
,a1.omschrijving
,a2.naam
,a3.fullname
,a4.fullname
,DATE_FORMAT(a1.datum_invoer, '%d-%m-%Y')
,DATE_FORMAT(a1.datum_gereed, '%d-%m-%Y')
,DATE_FORMAT(a1.datum_bevestiging, '%d-%m-%Y')
from klachten a1 left join modules a2
on a1.id_locatie=a2.id
left join gebruikers a3
on a1.id_invoer=a3.id
left join gebruikers a4
on a1.id_bevestiging=a4.id
where a1.datum_afronding IS NULL
and a1.id_locatie in (SELECT ID_MODULE FROM functiesmodulesgebruikers where id_gebruiker=$id_user)

Groet Bart.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan