begin process at 2012 05 26 14:38:35
  Trouver un code source :
 
dans
 
Accueil > Forum > 

SQL

 > 

SQL Server, MSDE, SQL Express

 > 

Requêtes

 > 

distinct / order by


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

distinct / order by

lundi 21 juin 2010 à 09:49:57 | distinct / order by

Kikuts

Bonjour j'ai un problème avec la requête ci dessous :

si j'enlève le distinct, elle fonctionne et je n'ai pas besoin de spécifier tout les champs dans le order by (seul le con_entree suffit)

mais si je rajoute distinct et le reste des champs, il me dit que je ne les ai pas tous mis.

Je suis persuadé que beaucoup ont déjà eu ce genre d'erreur.

Pour info : je trie la colonne que je cast en date time pour ne pas avoir ceci : 01/01/1995 -- 04/05/2010 -- 07/06/2004 voilà pourquoi je cast en datetime. Cela fonctionne parfaitement sans le distinct pour ceux qui n'ont pas l'habitude de le voir.

Merci pour toute aide !

Code :
SELECT distinct
con_id									as 		'Id_conso',
con_numid								as 		'Num_conso',
con_libelle								as 		'Libelle_conso',
con_qte									as 		'qte_conso',
CONVERT(VARCHAR(10), con_entree, 103)	as 		'Date_entree',
CONVERT(VARCHAR(10), con_livre, 103)	as 		'Date_livraison',
con_lot									as 		'Lot',
CONVERT(VARCHAR(10), con_peremp, 103)	as 		'Date_peremption'

FROM CONSOMMABLE
LEFT OUTER JOIN HISTOLIV		ON CAST(CON_ID AS VARCHAR) = HIL_C1
LEFT OUTER JOIN VISITE		ON HIL_VIS_ID = VIS_ID 
LEFT OUTER JOIN PRESCRITION	ON VIS_PRS_ID = PRS_ID 

WHERE PRS_TYPE = 0
AND CON_PAT_ID = 73

ORDER BY cast(con_entree as datetime) desc, 
con_id,con_numid,con_libelle,con_qte,con_livre,con_lot,con_peremp
Msg 145, Niveau 15, État 1, Ligne 2
Les éléments ORDER BY doivent se retrouver dans la liste de sélection si SELECT DISTINCT est spécifié.




Cordialement, Nk54.
mercredi 30 juin 2010 à 00:25:14 | Re : distinct / order by

nhervagault

Administrateur CodeS-SourceS
Salut,

La reponse est la http://weblogs.sqlteam.com/jeffs/archive/2007/12/13/select-distinct-order-by-error.aspx

C'est pour la gestion du déterminisme des bases de données.

Il est preferable d'utiliser il me semble le GROUP BY à la place du DISTINCT.

Bon dev


Cette discussion est classée dans : id, con, distinct, order, by


Répondre à ce message

Sujets en rapport avec ce message

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 .. Select Distinct sur une colonne [ par thiosyiasar ] Bonjour,Je veux récupérer une liste d'utilisateur dans une table utilisateur. (id, nom, prénom, email)L'application qui alimente la table ne prend pas 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 Gestion doublons group by & order by [ par yazer ] voila, je souhaite sélectionner le company_id correspondant au company_id de ayant le date_embauche le plus élevé chaque user_idpar exemple :company_i 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 REQUETE JOINTURE ET ORDER BY [ par didygwatinik ] Bonjour,Je suis actuellement en train de faire une messagerie. Dans ma boite de réception, j'ai des flèches qui permettent d'afficher par ordre croiss ORDER BY avec paramètre de Sort [ par billou_13 ] 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 regrouper des enregistrements dans un time stamp [ par grimat ] Bonjour,Je souhaite réaliser des stat de vente de mon site d ecommerce à une maille quotidienne.J'ai créé une requete pour lister les order_id ainsi q ORDER BY SPECIFIQUE [ par arnaudmuse ] Bonjour je suis a la recherche d'un code pour pouvoir faire un order by specifique, je m'explique. Disons que je récupère par le biais d'une requette


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,264 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales