Pourquoi ne pas ajouter le préfixe en tant que colonne séparée (calculée) ?
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 ?
Modifier : J'ai aussi changé UNION [DISTINCT] à UNION ALL - pour les raisons suivantes :
- Si la requête d'origine produit des résultats différents pour
UNIONetUNION ALL, l'introduction du préfixe modifiera le nombre de lignes de résultats. - Dans la plupart des cas
UNION ALLest légèrement plus rapide queUNION DISTINCT. - La plupart des gens veulent en fait avoir
UNION ALL.