Requete sql tri specifique

cmd_raz Messages postés 12 Date d'inscription mercredi 29 octobre 2003 Statut Membre Dernière intervention 11 mai 2007 - 11 mai 2007 à 16:36
david wendelken Messages postés 4 Date d'inscription dimanche 16 septembre 2007 Statut Membre Dernière intervention 17 septembre 2007 - 17 sept. 2007 à 01:00
Bonjour, :)


j'exécute cette requête sous sql express 2005


SELECT Produit.IdProduit as IdProd, Produit.CodeProduit as CodeProduit,
Produit.GenCode as GenCode, [Produit].[image] + '\' + [Produit].[NomProduit] +
'.jpg' AS Photo, Produit.NomProduit as Nom, Produit.PrixPro as Prix,
Produit.TarifMaxDegressif as TarifMax, Produit.UnitéMesure as UniteMesure FROM
Produit where Produit.IdProduit in ('3','1') ;


ma question je voudrai classé mes produits dans l'ordre d'apparition de mon in
dans ce cas ci sa serai 3 et 1 hors ma requête me le tri par ordre croissant :s


je me vois mal de faire des requête une par une style
Produit.IdProduit= '3' point de vu latence sur un certains nombre
d'enregistrement c'est pas top :s





avez vous une solution

4 réponses

yanis7518 Messages postés 283 Date d'inscription mercredi 7 décembre 2005 Statut Membre Dernière intervention 9 juillet 2010 3
11 mai 2007 à 17:07
salut cmd_raz

tu devrais essayer avec un

ORDER BY Produit.IdProduit desc à la fin de ta requète
0
cmd_raz Messages postés 12 Date d'inscription mercredi 29 octobre 2003 Statut Membre Dernière intervention 11 mai 2007
11 mai 2007 à 18:29
salut yanis,

je ne cherche pas a mettre un ordre decroissant par exemple si dans mon in (2,1,3) je veux que les produits de ma requete apparait dans l'ordre 2,1,3.
0
david wendelken Messages postés 4 Date d'inscription dimanche 16 septembre 2007 Statut Membre Dernière intervention 17 septembre 2007
17 sept. 2007 à 00:31
SELECT
 Produit.IdProduit         as IdProd
,Produit.CodeProduit       as CodeProduit
,Produit.GenCode           as GenCode

,[Produit].[image]

 + '\'

 + [Produit].[NomProduit]

 + '.jpg'                  AS Photo

,Produit.NomProduit        as Nom

,Produit.PrixPro           as Prix

,Produit.TarifMaxDegressif
as TarifMax

,Produit.UnitéMesure       as UniteMesure

FROM Produit

WHERE
Produit.IdProduit in ('3','1')

ORDER BY CASE
Produit.IdProduit

              WHEN 3 then 1

              WHEN 1 then 2
         END








Pardon, je suis l'Américain et je parle français un petit pot.  Corrigez s'il vous plaît mon français.








Le <<case>> permettre vous à changer le ordre des résultats.
0
david wendelken Messages postés 4 Date d'inscription dimanche 16 septembre 2007 Statut Membre Dernière intervention 17 septembre 2007
17 sept. 2007 à 01:00
Pardon, je suis l'Américain et je parle français un petit pot.  Corrigez s'il vous plaît mon français.





Essayez-vous, s'il vous plaît, le <<GetDate()>> au lieu de <<Date()>>




Pour l'Oracle, <<sysdate>>.
0
Rejoignez-nous