Vielleicht hilft Dir ja dieses kommentierte Query:
Gruß hpvw
Code:
SELECT
# Felder von der Fächer-Tabelle
# einzeln in die Projektion aufnehmen
faecher.id,
faecher.feld1,
faecher.andereFelder,
# Der LEFT JOIN unten setzt alle Felder der
# Verknüpfungstabelle NULL, wenn kein der
# ON-Bedingung genügender Datensatz verknüpft
# werden kann.
# Das wird mit diesem IF abgefragt und in dem
# Aliasfeld schonBelegt abgelegt.
# Du kannst in der auslesenden Schleife
# dieses Feld prüfen. Ist es 1, wählst Du die
# Option in der Liste aus, ist es 0 lässt Du
# die Option unausgewählt.
if(verknuepfungsTabelle.schuelerId IS NULL,
1,0) AS schonBelegt
FROM faecher
LEFT JOIN verknuepfungsTabelle
# Die Tabellen werden über die ID des Fachs verknüpft.
ON faecher.id=verknuepfungsTabelle.fachId
# Einen passenden Datensatz gibt es aber nur, wenn
# dieser auch zu dem zu ändernden Schüler gehört
AND verknuepfungsTabelle.schuelerId=[idDesZuAenderndenSchulers]