プレフィックスを別の(計算された)列として追加してみませんか?
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
を望んでいます 。