Защо не добавите префикса като отделна (изчислена) колона?
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 ?
Редактиране: Промених също UNION [DISTINCT] към UNION ALL - поради следните причини:
- Ако оригиналната заявка дава различни резултати за
UNIONиUNION ALL, въвеждането на префикса ще промени броя на редовете с резултати. - В повечето случаи
UNION ALLе малко по-бързо отUNION DISTINCT. - Повечето хора всъщност искат да имат
UNION ALL.