Hi Falk
SELECT b.bildnr
FROM tab AS a
INNER JOIN tab AS b
ON (a.bildnr = b.bildnr
and b.schlagwort = 'Kirche')
WHERE a.schlagwort = 'Kunst'
Es funktioniert ! :-) in mysql und auch in access.
Jetzt muß ichs nur noch verstehen :-)
Er nimmt eine Zeile aus der Tabelle a und fügt
eine Zeile aus Tabelle b hinzu, und zwar jeweils
die Zeilen, wo beide bildnr identisch sind (die on-clause).
Daraus filtert er dann alle raus, wo das Schlagwort nicht
Kunst ist, das b.schlagwort könntest du auch noch zum
where runternehmen, also a... = 'Kunst' and b... = 'Kirche'.
Der inner join im Vergleich zum left join bedeutet, das
sowohl die linke Seite (also Tabelle a), als auch die rechte
Seite (Tabelle b) vorhanden sein muss, bei left join muss nur
die linke Seite (Tabelle a) ein Eintrag haben.
Natürlich macht er das ganze nicht in der Reihenfolge
und optimiert das ganze noch ein ganzes Stück.
Gruss Daniela