Erik Tews: MySQL Query

Beitrag lesen

Hi!

So jetzt versuche ich mich auch mal ein wenig in Sachen Datenbanken, und da ich eigentlich keine Ahnung von SQL habe stehe ich vor folgendem Problem:

Ich möchte in zwei Spalten (von zwei verschiedenen Tabellen) nach Zeichenketten suchen. Gibt es dabei eine Möglichkeit diese zwei Spalten zu einer zu verknüpfen, damit ich nur EINE LIKE-Anweisung in meiner Query benötige (also auf die Art: ... where (tabelle1.spalte1 + tabelle2.spalte2) like "%abc%") oder bedarf es eben PRO Spalte einer LIKE-Anweisung?

Was ich mir bis jetzt zusammengebastelt haben:

select rezept.name,ingre.name from rezept left join ingre on ingre.reznr=rezept.nr where rezept.name like "%irgendwas%" OR ingre.name like "%irgendwas%" group by rezept.name

Das gibt mir zwar genau das aus, was ich möchte, nur wäre es nett, wenn es eine Möglichkeit gäbe diese zwei Like-Abfragen zu einer zusammenzufassen (da sonst pro weiterer Zeichenketten nach der gleichzeitig gesucht werden soll, jeweils wieder ZWEI like-Anweisungen hinzukommen - also wenn ich nach zwei Ausdrücken suche habe ich vier Like-Abfragen usw.

Ich würde sagen, daß diese Formulierung eigendlich ganz in Ordnung ist. Es gäbe da vielleicht noch die Möglichkeit, da was mit Subqueries zu machen, oder erst mal ne temporäre Tabelle anzulegen, und dort erst mal die beiden Spalten hinzutransferieren. Aber das macht einfach zu viel Aufwand. Ich würde die Abfrage so lassen.