Comment ajouter une colonne constante à une requête SQL sans l'analyser?
J'ai une requête complexe fournis par l'autre partie de l'application et j'ai besoin d'ajouter une colonne constante et de transmettre la requête de poursuite de la procédure (SSRS ServerReport). La requête peut être composé de plusieurs requêtes connecté avec UNION ALL
et peut contenir ORDER BY
.
Edit: j'ai oublier de souligner ce qui est inclus dans le titre sans analyse. Je ne sais rien au sujet de la requête (conditions, les sous-requêtes) donc, l'analyse et modifié, il est plutôt dangereux.
Exemple:
declare @t table(id int)
insert into @t values(1)
insert into @t values(2)
La requête:
(select id from @t where id=1
union all
select id from @t where id=2) order by id desc
De Sortie Requis:
id | Par
----------
2 | Hello
1 | Hello
Tentative (ne fonctionne pas avec l'ORDRE PAR):
SELECT *, 'Hello' Par from
((select id from @t where id=1
union all
select id from @t where id=2) order by id desc) tbl
Solution est de travailler sur SQL Server 2008+.
- Je m'excuse pour le manque d'ouverture de parenthèses dans la Tentative de requête.
- Merci à tous les contributeurs. J'ai accepté qu'il n'y a pas de solution.