プレフィックスを別の(計算された)列として追加してみませんか?
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 ALLUNION DISTINCTよりわずかに高速です 。 - ほとんどの人は実際に
UNION ALLを望んでいます 。