Perché non aggiungere il prefisso come una colonna separata (calcolata)?
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 ?
Modifica: Ho anche cambiato UNION [DISTINCT]
a UNION ALL
- per i seguenti motivi:
- Se la query originale produce risultati diversi per
UNION
eUNION ALL
, l'introduzione del prefisso cambierà il numero di righe dei risultati. - Nella maggior parte dei casi
UNION ALL
è leggermente più veloce diUNION DISTINCT
. - La maggior parte delle persone desidera effettivamente avere
UNION ALL
.