[MySQL-Gefrickel] - Abfrage mit SELECT IF | Datensätze zusammenfassen

drok

Klarapfel
Registriert
02.06.07
Beiträge
278
Huhu,

folgende Sache: In mehreren Tabellen sollen die Inhalte des Feldes 'name' mit einem Suchbegriff verglichen und ausgelesen werden. (Alle Tabellen sind von der Struktur her identisch)

t1,2,3,..
+----+--------+
| ID | name |
+----+--------+

Ich habe einiges ausprobiert und bin gerade bei folgendem Code gelandet:
(Wäre toll wenn mir jemand sagen könnte ob das so i.O. ist oder ob das total umständlich und unschön ist.)

Code:
$sql="(SELECT IF((t1.name LIKE '".$listsearch."%')>0, t1.name, NULL) FROM t1) UNION 
         (SELECT IF((t2.name LIKE '".$listsearch."%')>0, t2.name, NULL) FROM t2) ... ";
Das funktioniert soweit einwandfrei, nur hätte ich die Namen gerne sortiert.

Könnte man jetzt irgendwie diese Daten innerhalb des Querys zu einem virtuellen Feld zusammenfassen und das Feld dann mit ORDER BY behandeln ?



viele grüße,
drok
 
Zuletzt bearbeitet:

drok

Klarapfel
Registriert
02.06.07
Beiträge
278
Niemand da der etwas darüber sagen kann ?
 

tfc

Ontario
Registriert
21.07.07
Beiträge
348
Mach einen VIEW draus. Das ist quasi eine Tabelle, die als Stellvertreter für eine "echte Tabelle", die nicht existiert, ihre Daten aus einem komplexen Query holt.