MySQL - LEFT JOIN - Ausgabe nur bei ungleich

Status
Dieses Thema wurde gelöst! Zur Lösung gehen…

Webgau

Mitglied
Servus,

ich bin gerade am verzweifeln. Ich bastel gerade an einer Führerscheinübersicht:

Mitglied
==========
* id (INT)
* vorname (VAR)
* nachname (VAR)
==========

LEFT JOIN

Führerschein
==========
id (INT)
id_Mitglied (INT)
fs_klasse (INT)
==========

In der Führerscheintabelle kann ein Mitglied mehrfach mit unterschiedlichen "fs_klassen" vorkommen. Ich möchte nur diese ausgeben welche eine bestimmte Führerscheinklasse nicht haben. Nun benötige ich einen Denkanstoß, wie bekomme ich nur die Nutzer angezeigt?

Ich wünsche einen schönen Abend.
 
Zuletzt bearbeitet:
SQL:
select m.*
from mitgleid m
    LEFT join (
        select id
        from fuehrerschein
        where fs_klasse = 123
    ) f
    on m.id = f.id_mitglied
where f.id is null
oder
SQL:
select m.*
from mitgleid m
where 
    m.id not in (
        select id_mitglied
        from fuehrerschein
        where fs_klasse = 123
    )
 
Vielen Dank! Wie weit kann ich es mit solchen unterabfragen treiben? Also könnte ich in diese eine weitere Unterabfrage packen?

Grüße und vielen Dank nochmal!
 
Status
Dieses Thema wurde gelöst! Zur Lösung gehen…
Zurück