Distinct et order by

cs_Benz Messages postés 196 Date d'inscription jeudi 3 janvier 2002 Statut Membre Dernière intervention 7 juin 2007 - 9 juil. 2002 à 11:06
cs_Benz Messages postés 196 Date d'inscription jeudi 3 janvier 2002 Statut Membre Dernière intervention 7 juin 2007 - 9 juil. 2002 à 13:36
Bonjour,

J'ai un problème avec la requete SQL suivante :
______________________________
REQUETE = "SELECT DISTINCT Niveau2 FROM MaTable WHERE Niveau1 LIKE '%"&strNiv1&"%' AND Ref LIKE '%"&strRef&"%' ORDER By Niveau1 ASC"
______________________________

Qui me génère l'erreur suivante :
______________________________
Microsoft OLE DB Provider for ODBC Drivers erreur '80040e07'

[Microsoft][Pilote ODBC Microsoft Access] La clause ORDER BY (Niveau1) est en conflit avec DISTINCT.
______________________________

La requete fonctionne parfaitement bien lorsqu'on la termine avant le classement, c'est à dire si l'on supprimer tout simplement "ORDER By Niveau1 ASC"

J'aimerais juste savoir comment corriger cette erreur et classer mes résultats comme je le souhaite.
Au pire je pourrais utiliser la requete sans classement, mais ca ne serait pas très propre.

Merci pour votre aide.

Benz

2 réponses

cs_Troopers Messages postés 81 Date d'inscription lundi 18 février 2002 Statut Membre Dernière intervention 29 août 2003
9 juil. 2002 à 12:31
essaie avec GROUP BY Niveau2 au lieu du DISTINCT
REQUETE = "SELECT Niveau2 FROM MaTable WHERE Niveau1 LIKE '%"&strNiv1&"%' AND Ref LIKE '%"&strRef&"%' GROUP BY Niveau2 ORDER By Niveau1 ASC"
0
cs_Benz Messages postés 196 Date d'inscription jeudi 3 janvier 2002 Statut Membre Dernière intervention 7 juin 2007
9 juil. 2002 à 13:36
Merci, ta requete donne le résultat que je veux si j'elève ORDER BY Niveau1 ASC. Si je le laisse, j'ai une erreur concernant les agregats.

Merci de ton aide, c'est le GROUP BY que je ne connaissait pas...

Benz :-)
0
Rejoignez-nous