begin process at 2008 07 20 01:53:45
1 213 088 membres
11 nouveaux aujourd'hui
14 166 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : ORDER BY avec paramètre de Sort [ SQL Server, MSDE, SQL Express / Procédures Stockées ] (billou_13)

ORDER BY avec paramètre de Sort le 20/12/2007 12:09:08

billou_13
Membre Club

Bonjour à tous,

Alors voila, je suis en train de travailler sur une procédure stockée et je voudrais savoir comment rendre dynamique mon order by pour le sorting. En effet, j'ai déjà trouver mon bonheur afin de le rendre dynamique sur la colonne à trier. Voici mon exemple:

DECLARE @ColOrder varchar(50)
SET @ColOrder = 'Name'

SELECT * FROM Person
 ORDER BY
  CASE @ColOrder WHEN 'Name' THEN Name END,
  CASE @ColOrder WHEN 'Age' THEN Age END,
  CASE @ColOrder WHEN 'Gender' THEN Gender END

Totu ceci fonctionne parfaitement. Seulement, je voudrais pouvoir rendre dynamique le tri ascendant ou descendant (ASC ou DESC)
J'ai essayé en ajoutant la ligne :
  CASE @ColOrder WHEN 'Name Desc' THEN Name DESC END,
Mais cela ne fonctionne pas, il aime pas trop le mot clé ^^

Je m'en remet donc à vous si vous avez une petit idée.

Merci d'avance,

Billou_13
Bask En Force

--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------


Re : ORDER BY avec paramètre de Sort le 20/12/2007 12:27:37

billou_13
Membre Club
Réponse acceptée !
Re,

Autant pour moi, cela marche si on modifie un tant soit peu la ligne que j'avais rajouté. Cela donne donc:

SELECT * FROM Person
 ORDER BY
  CASE @ColOrder WHEN 'Name' THEN Name END,
  CASE @ColOrder WHEN 'Name Desc' THEN Name END DESC,
  CASE @ColOrder WHEN 'Age' THEN Age END,
  CASE @ColOrder WHEN 'Age Desc' THEN Name END DESC,
  CASE @ColOrder WHEN 'Gender' THEN Gender END,
  CASE @ColOrder WHEN 'Gender Desc' THEN Name END DESC

Merci quand même et désolé pour le dérangement ^^

Billou_13
Bask En Force

--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------


Classé sous : case, name, order, by, colorder

Participer à cet échange

Pub



Appels d'offres

Dessins techniques
Budget : 60€
Animation Flash - Doma...
Budget : 370€
Application flash medi...
Budget : 1 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS