Warum nicht das Präfix als separate (berechnete) Spalte hinzufügen?
SELECT 'SN' prefix, snippet_id, title FROM tbl_snippets WHERE title LIKE ?
UNION ALL
SELECT 'TA', tag_id, tag FROM tbl_tags WHERE tag LIKE ?
UNION ALL
SELECT 'CA', category_id, category FROM tbl_categories WHERE category LIKE ?
Bearbeiten: Ich habe auch UNION [DISTINCT]
geändert zu UNION ALL
- aus folgenden Gründen:
- Wenn die ursprüngliche Abfrage andere Ergebnisse für
UNION
liefert undUNION ALL
, die Einführung des Präfixes ändert die Anzahl der Ergebniszeilen. - In den meisten Fällen
UNION ALL
ist etwas schneller alsUNION DISTINCT
. - Die meisten Leute wollen eigentlich
UNION ALL
haben .