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
UNION
etUNION ALL
, l'introduction du préfixe modifiera le nombre de lignes de résultats. - Dans la plupart des cas
UNION ALL
est légèrement plus rapide queUNION DISTINCT
. - La plupart des gens veulent en fait avoir
UNION ALL
.