• Wieder einmal haben uns unsere Apfeltalker tolle Fotos zur Abstimmung eingesandt. Welches ist Euer Favorit? Stimmt mit ab! Hier geht es zur Abstimmung --> Klick
  • Es ist bereits Apfeltalk-Tradition und wir möchten sie auch in diesem Jahr fortsetzen: Unser Apfeltalk-Weihnachtslogo-Wettbewerb hat begonnen! Gestaltet für uns das Weihnachtsbanner, das im Monat Dezember bis zum Weihnachtsfest unsere Webseite schmücken soll. Lasst Eurer Kreativität freien Lauf! Hier geht es zum Wettbewerb --> Klick

[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:
Niemand da der etwas darüber sagen kann ?
 
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.