Защо не добавите префикса като отделна (изчислена) колона?
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
.