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)

jeudi 20 décembre 2007 à 12:09:08 | ORDER BY avec paramètre de Sort

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
---------------------


jeudi 20 décembre 2007 à 12:27:37 | Re : ORDER BY avec paramètre de Sort

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
---------------------



Cette discussion est classé dans : case, name, order, by, colorder


Répondre à ce message

Sujets en rapport avec ce message

Ordonner selon une valeur [ par Isengard ] Bonjour ! J'ai un petit problème assez énervant ! Je fais un système de réféncement d'évenement avec génération d'une frise chronologique qui fait ap pb : ORDER BY [ par trexor ] Bonjour, J'ai utilisé une requète pour ma table liée et ca marche plutôt bien.Mais j'ai un petit problème avec ma requète ci dessous : cnxClasse.affic Pb requete vers access [ par trexor ] Bonjour, j'ai un petit pb de requete avec access/vb.net : SELECT * FROM [Support longi] ORDER BY Positionme donne "Echec de ierrorInfo.GetDescription Order by sur un count [ par dorian53 ] Bonjour,Je souhaite executer un classement sur une table de vote.SELECT voteVM, COUNT(numVM)FROM voteGROUP BY voteVMORDER BY 2 DESC, 1 ASC(a savoir Etrange réaction pour un order by... [ par jef_b ] Bonjour ! J'ai un petit problème avec une clause ORDER BY... Ma requête fonctionnait très bien et puis voilà que depuis le début de l'année, plus rie Mélange Sql ORDER BY et LIMIT [ par nemingway ] Bonjour, je trie une table selon deux paramètres (auteur, puis id). Est-il possible d'appliquer un LIMIT à chacun de ces tris, cad SELECT ... FROM .. alignement d'éléments par rapport aux données [ par desperados27 ] Bonjour,En résumé, j'ai fait 4 ListBox.Chacune correspond à une colonne de la même table. (Donc 4 colonnes)J'aimerais aligner les éléments affichés da ESPACE EN FIN DE CHAMPS [ par wiway ] Salut à tousVoilà, j'ai une base sql avec un champs titres et je souhaiterai faire apparaitre à l'écran la liste dees titres contenus dans la table. J probleme de requette pour importer des donnees dans mysql [ par clement1138 ] voila mon code :  $requette=mysql_query( 'LOAD DATA LOCAL INFILE "base.csv"REPLACE INTO TABLE organigrammeFIELDS TERMINATED BY ";" ENCLOSED BY """ESCA SQL CASE [ par fafal ] Pouvez vous m'aider j'ai un problème avec la syntaxeSELECT CASE Result WHEN >0 THEN 96-RESULT ELSE 96 END as testje vous explique....quand RESULT renv


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

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



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 4,446 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.