rezept enthält die Felder
nr (eindeutige nr),
name (name des rezepts),
und noch ein paar weitere (Zubereitung, Kommentar, ...).Nun beinhaltet ein Rezept eine unbestimmte Anzahl von Ingredienzien. Deshalb die Tabelle ingre mit den Feldern
id (eindeutige nummer),
name (name der Ingredienz),
reznr (die nr des Rezeptes zu dem diese Ingredienz gehört)
und noch ein paar andere (Menge, Alkoholgehalt, etc.)
Aah, ja.
Der relationale Entwurf, der Dein "Problem" lösen
würde, wäre:
1. Definiere einen Begriff, der eine semantische
Obermenge über "Rezept" und "Ingredienz" darstellt.
2. Ergänze Deine beiden Tabellen um eine 3. Tabelle
"alles" mit Feldern "Name", "Sorte" (neu, enthält
"Rezept" bzw. "Ingredienz") und "Index" (verweist
auf Primärschlüssel in einer der beiden bisherigen
Tabellen mit den sortenspezifischen Attributen).
Dafür entfällt "Name" aus den bisherigen Tabellen.
Jetzt kannst Du sowohl über beide Mengen zugleich
eine Suche durchführen als auch jederzeit per Query
'where Sorte="Rezept"' etc. eine Teilmenge heraus-
projezieren. In SQL würde man dann VIEWs definieren,
die dies statisch tun und die Du dann fast wie Tabellen
ansprechen kannst.
Nachteil: Du kannst nun die Attribute einer einzelnen
Sorte nur noch über einen JOIN zwischen seinem Namen
und seinen Eigenschaften ansprechen.
Wenn die meisten Deiner Abfragen über nur eine Deiner
Tabellen laufen, würde ich das Tabellenschema nicht
ändern, sondern eher mit diesem Sonderfall leben.
Die Mengenaddition, die Du offenbar willst, würde in
SQL mit dem UNION-Operator ausgedrückt werden. Daß
es zwei Queries sind, ist nicht zu ändern.
Meine Frage bezog sich nun darauf, ob ich die 2
LIKE-Abfragen zu einer zusammenfassen kann (sonst
habe ich ja bald eine elendslange Query wenn nun
jemand nach Gin Wodka Whisky Rum Cognac und Tequila
sucht, v.a. weil ich noch eine dritte Spalte einer
weiteren Tabelle gleichzeitig durchsuchen möchte) -
aber wie ich aus den anderen Antworten entnehme ist
das wohl nicht (oder nur durch zusätzlichen Aufwand,
der meine "Vereinfachung" ja ad absurdum führen
würde) möglich.
Je komplexer Dein Tabellensystem wird, desto länger
und komplizierter werden die entsprechenden Queries.
(Deine ist noch sehr harmlos!)
Deshalb gibt es ja GUIs, mit denen man so etwas per
drag & drop zusammenfügen kann. (Mit etwa denselben
Folgen wie bei WYSIWYG-HTML-Editoren ... ;-)
Aber wenn Du immer mehr "Sorten" erfindest, dann wird
ein Umbau Deiner Tabellenstruktur immer sinnvoller.