Hi!
Wäre nett wenn mir jemand dabei auf die sprünge hilft
Die Tabelle tags ist nebensächlich. Aus der musst du nur die IDs der gewünschten Tags suchen. Die Beziehungstabelle enthält nun für jedes Tag, das einem bestimmten Bild zugeordnet ist einen Datensatz. Mit AND kannst du nicht fragen, weil sich die Bedingung auf einen Datensatz bezieht, die Information aber über mehrere Datensätze verteilt ist. Also musst du OR fragen und bekommst dann mehrere Ergebnisdatensätze pro Bild. Wenn nur mindestens ein Tag zutreffen muss ist das unproblematisch. Man könnte bildlich gesprochen sagen, dass WHERE waagerecht arbeitet, deine Ergebnismenge aber senktrecht vorliegt. Wenn alle Tags zutreffen sollen, so musst du die Information aus der Senkrechten in die Waagerechte bringen. Beispielsweise indem du nachzählst, wieviele Tags pro Bild-ID im Ergebnis enthalten sind. Da kommt das COUNT() ins Spiel. Und da du das pro Bild wissen willst, musst du über die Bild-ID gruppieren und anschließend mit HAVING nur die Gruppen (sprich Bild-IDs) nehmen, deren Anzahl stimmt.
Lo!