Hallo liebe Community,
Ich habe 5 Tabellen: db_recipe, db_variation, db_ingredient sowie db_variation2recipe und db_ingredient2variation.
Die Tabelle db_ingredient besitzt folgende Keys: id, title.
Darin befinden sich reine Zutaten, z.B. Salz oder Zuckerrüben.
Die Tabelle db_variation besitzt folgende Keys: id, name, measure, amount.
Darin befinden sich Variationen von Zutatenmöglichkeiten, z.B. 1 Prise Salz oder 25g Salz oder 1 Packung Salz.
Die Tabelle db_recipe besitzt alle möglichen Informationen von verschiedenen Rezepten.
Über die Tabellen db_variation2recipe und db_ingredient2variation werden jeweils Rezept und Variation,
sowie Zutat und Variation per id verknüpft. Beide Tabellen haben haben 3 Keys: id, id_(variation|ingredient), id_(recipe|variation).
Nun möchte ich gerne verschiedene Zutaten (keine Variationen) angeben und alle Rezepte, auf die die gegebenen Zutaten
zutreffen, erhalten. Für eine einzige Zutat habe ich folgende, funktionierende Abfrage gebaut:
SELECT t1.id, t1.title FROM db_recipe t1, db_variation2recipe t2, db_ingredient2variation t3 WHERE t3.id_ingredient=X AND t3.id_variation=t2.id_variation AND t2.id_recipe=t1.id; ( X => Die ID einer beliebigen Zutat )
Hat jemand eine Idee, wie ich die selbe Logik auf mehrere Zutaten erweitern kann?
Jedes Rezept muss alle gegebenen Zutaten in beliebiger Variation besitzen.
Vielen Dank und Liebe Grüße
cattweasel
Ich habe 5 Tabellen: db_recipe, db_variation, db_ingredient sowie db_variation2recipe und db_ingredient2variation.
Die Tabelle db_ingredient besitzt folgende Keys: id, title.
Darin befinden sich reine Zutaten, z.B. Salz oder Zuckerrüben.
Die Tabelle db_variation besitzt folgende Keys: id, name, measure, amount.
Darin befinden sich Variationen von Zutatenmöglichkeiten, z.B. 1 Prise Salz oder 25g Salz oder 1 Packung Salz.
Die Tabelle db_recipe besitzt alle möglichen Informationen von verschiedenen Rezepten.
Über die Tabellen db_variation2recipe und db_ingredient2variation werden jeweils Rezept und Variation,
sowie Zutat und Variation per id verknüpft. Beide Tabellen haben haben 3 Keys: id, id_(variation|ingredient), id_(recipe|variation).
Nun möchte ich gerne verschiedene Zutaten (keine Variationen) angeben und alle Rezepte, auf die die gegebenen Zutaten
zutreffen, erhalten. Für eine einzige Zutat habe ich folgende, funktionierende Abfrage gebaut:
SELECT t1.id, t1.title FROM db_recipe t1, db_variation2recipe t2, db_ingredient2variation t3 WHERE t3.id_ingredient=X AND t3.id_variation=t2.id_variation AND t2.id_recipe=t1.id; ( X => Die ID einer beliebigen Zutat )
Hat jemand eine Idee, wie ich die selbe Logik auf mehrere Zutaten erweitern kann?
Jedes Rezept muss alle gegebenen Zutaten in beliebiger Variation besitzen.
Vielen Dank und Liebe Grüße
cattweasel
Comment