Varför inte lägga till prefixet som en separat (beräknad) kolumn?
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 ?
Redigera: Jag har också ändrat UNION [DISTINCT] till UNION ALL - av följande skäl:
- Om den ursprungliga frågan ger andra resultat för
UNIONochUNION ALL, kommer prefixet att ändra antalet resultatrader. - I de flesta fall
UNION ALLär något snabbare änUNION DISTINCT. - De flesta vill faktiskt ha
UNION ALL.