Webtauschen: SQL-Brett vorm Kopf ...

Beitrag lesen

Hi Forum,

hab grad dickes Brett vorm Kopf und komm nicht auf eine bestimmt total banale SQL-Query:
Hab eine Tabelle der Form "rezepte_zutaten"
mit rezept_id und zutat_id.
In einer Abfrage kann man nun seine vorhandenen Zutaten ankreuzen und es sollen alle Rezepte ausgespuckt werden die darauf passen.
Ich hab momentan folgndes (mit PHP):
$query = "SELECT rezept_id FROM rezepte_zutaten WHERE zutat_id IN (".join($zutaten_ids, ',').")";
Damit bekomm ich aber alle Rezepte die mindestens eine der Zutaten haben und nicht die deren Zutatenliste komplett in der Menge der übergebenen Zutaten-Ids enthalten ist... ?!

Grüße, Ulf

Lieber Ulf,

da mir heute morgen so nett geholfen wurde, will ich mich mal versuchen ;-)))

Ich denke der Fehler liegt darin dass Du nach ODER und nicht nach UND suchst???

Suche ich ein Rezept zu Mehl, Eier kriege ich Pudding, Pfannkuchen etc.

Suche ich aber nur nach Mehl UND Eiern UND nach 2 Zutaten, dann müsste es klappen!

Am besten ein weiteres Datenbankfeld hinzufügen mit der Anzahl Zutaten...

Dann im Vorfeld die Anzahl der zu suchenden Zutaten (SELECT COUNT(zutat_id) AS Anzahl_ID...) ermitteln und danach die Abfrage

SELECT rezept_id FROM rezepte..... WHERE.... AND...

Ist vielleicht Quatsch aber müsste funzen ;-))))

Liebe Grüße, Claudi...