Proč nepřidat předponu jako samostatný (vypočítaný) sloupec?
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 ?
Upravit: Také jsem změnil UNION [DISTINCT]
na UNION ALL
- z následujících důvodů:
- Pokud původní dotaz poskytuje jiné výsledky pro
UNION
aUNION ALL
, zavedení prefixu změní počet řádků výsledků. - Ve většině případů
UNION ALL
je o něco rychlejší nežUNION DISTINCT
. - Většina lidí ve skutečnosti chce mít
UNION ALL
.