Probleme requete sql avec distinct

sexygling Messages postés 31 Date d'inscription samedi 15 mai 2004 Statut Membre Dernière intervention 4 janvier 2006 - 21 juin 2004 à 19:22
MerlinLRN Messages postés 6 Date d'inscription vendredi 12 septembre 2003 Statut Membre Dernière intervention 24 juin 2004 - 22 juin 2004 à 11:29
Bonjour a tous, alors vous la requête suivante genere l'erreur : erreur 3085, Fonction 'DISTINCT' non définie dans l'expression.

SELECT SUM(evendu.prix)/COUNT(DISTINCT(vente.nvente)) as paniermoy FROM vente, evendu WHERE nvente = vente AND ((vente.date) Between #" & deb & "# And #" & fin & "#)

les variable deb et fin sont definis plus haut dans mon code.

Merci a tous

ZeGlinG

2 réponses

cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 18
21 juin 2004 à 19:40
Salut,
G testé ta requête, effectivement, on dirait que count et distinct ne font pas bon ménage.
J'ai bien peur que tu ne puisse t'en sortir autrement qu'avec 2 requetes.

1 - d'abord :
SELECT DISTINCT(vente.nvente) as paniermoy FROM vente, evendu WHERE nvente = vente AND ((vente.date) Between #" & deb & "# And #" & fin & "#)

ensuite :
récup du nombre d'enreg avec un
rs.movelast
nombre = rs.recordcount

et

2 -
SELECT SUM(evendu.prix)/" & nombre & " as paniermoy FROM vente, evendu WHERE nvente = vente AND ((vente.date) Between #" & deb & "# And #" & fin & "#)

Ou alors, trouver un systeme de requetes imbriquées (c la galère).

Enfin, si quelqu'un a une meilleure solution.......

Cordialement

CanisLupus
0
MerlinLRN Messages postés 6 Date d'inscription vendredi 12 septembre 2003 Statut Membre Dernière intervention 24 juin 2004
22 juin 2004 à 11:29
Oui comme le dit Lupus, si tu souhaite le faire avec une seul requete, tu es obligé de faire une requete imbriqué, enfin je pense.
0