Bonjour,
J'ai une procédure stockée qui me renvoie un certain nombre de résultats. J'aimerai lui passer en paramètre la colonne selon laquelle trier ces résultats. Mais en plus, j'aimerai pouvoir passer l'ordre (asc ou desc).
J'ai essayé la méthode avec le "order by case" qui fonctionne bien (j'ai lu ce topic), mais dès que j'essaie de mettre un asc ou un desc dedans, ça foire SQL server me renvoie une erreur de syntaxe...
J'ai essayé ce genre de chose pour rendre mon ordre conditionnel, mais ça ne marche pas plus (évidemment, il bute toujours sur le asc) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 order by case @vOrderBy when 'sit' then lb_sit_name asc end
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 order by case @vOrderBy+@vOrder when 'sitasc' then lb_sit_name asc when 'sitdesc' then lb_sit_name desc endEst-ce que quelqu'un aurait une idée ou est-ce que je vais être obligée de passer par une requête créée dynamiquement que je trouve quand même moins jolie...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 order by case @vOrderBy when 'sit' then lb_sit_name end case @vOrder when 'asc' then asc else 'desc' end
Merci![]()
Partager