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
UNIONliefert undUNION ALL, die Einführung des Präfixes ändert die Anzahl der Ergebniszeilen. - In den meisten Fällen
UNION ALList etwas schneller alsUNION DISTINCT. - Die meisten Leute wollen eigentlich
UNION ALLhaben .