Kikuts
Messages postés159Date d'inscriptionjeudi 11 janvier 2007StatutMembreDernière intervention 5 novembre 2010
-
21 juin 2010 à 09:49
GHARSA -
3 sept. 2013 à 14:38
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 !
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é.