Ich habe jetzt 2 Stunden gegoogelt und keine Lösung gefunden.
Ich habe eine Tabelle mit Stichworten, die 1:n mit einer Haupttabelle verknüpft ist.
Wenn ich mehrere Stichworte suchen will, dann mache ich das so:
Code:
SELECT ta.* FROM ta LEFT JOIN tb ON ta.id=tb.id_a
WHERE tb.stichwort = 'geschichte' OR tb.stichwort = 'politik'
GROUP BY ta.id
Gefunden werden alle Datensätze mit geschichte
ODER politik.
Wenn ich nun Datensätze suchen will, die geschichte
UND politik als Stichwort haben dann funktioniert das nicht, wenn ich das
OR durch ein
AND austausche.
Eine Lösung ist das mehrfache Verknüpfen der Stichworttabelle.
Code:
SELECT a.* FROM ta AS a
LEFT JOIN tb ON a.id=b.id_a AS b
LEFT JOIN tb ON a.id=c.id_a AS c
WHERE b.stichwort = 'geschichte' AND c.stichwort = 'politik'
GROUP BY a.id
Es muss aber eine einfachere Lösung geben.
Bitte an die Profis... Lasst ich nicht hängen ;)
RubbeDeKatz