|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre confirmé
![]() Inscription : juin 2002 Messages : 352 ![]() |
bonjour,
J'ai une requete SQL un peu compliquee: Code :
avez vous une idee? merci bcp
__________________
Franchement, je suis capable du meilleur comme du pire, mais, dans le pire, c'est moi le meilleur. Coluche |
||
|
|
00
|
|
|
#2 |
|
Membre émérite
![]() Tony Développeur .NET Inscription : novembre 2010 Messages : 570 ![]() |
Bonjour,
tous les champs du select doivent être dans le group by, sauf fonctions (count, max, min, ...) donc tes group by client sont faux, il faut grouper par client et date
__________________
Le Porc est un loup pour le Porc. |
|
|
00
|
|
|
#3 | |
|
Membre confirmé
![]() Inscription : juin 2002 Messages : 352 ![]() |
merci
mes comme tu l'ecris Citation:
1. gdate - qui est un group by 2.clientid - qui est un count exactement comme tu as dis ma requete ne me donne pas d'erreur mais compte les doublons Clientid merci
__________________
Franchement, je suis capable du meilleur comme du pire, mais, dans le pire, c'est moi le meilleur. Coluche |
|
|
|
00
|
|
|
#4 | ||||
|
Expert Confirmé
![]() Inscription : mai 2002 Messages : 1 655 ![]() |
Un peu d'effort dans votre écriture ...
Code :
Si vous avez déjà des doublons dans votre table Clients il faut utilisez une syntaxe de ce type, vu que vous ne faites aucune opération d'agrégation : Code :
Votre 1ere requête, avec la bonne syntaxe utilisée va vous compter, pour chaque date donnée, le nombre distinct de client. Donc je ne vois pas bien le problème ? Vous cherchez peut-être autre chose en fait ? Indiquez un jeu de donnée d'entrée / sortie pour que l'on comprenne mieux. |
||||
|
|
00
|
|
|
#5 | |
|
Membre Expert
![]() Laure Consultante en Business Intelligence Inscription : avril 2007 Messages : 983 ![]() |
Je pense qu'il parlait des group by présents dans les requêtes UNION. Que tu peut d'ailleur supprimer et remplacer par un distinct.
Ici ta requête est correcte si tu cherche à compter un seul id client par date. Citation:
Si oui --> je ne comprend pas trop le pourquoi et dans ce cas sous quelle date le client doit-il être compté ? Si non --> pourrais-tu nous montrer un jeu d'essai et le résultat attendu pour que nous puissions bien comprendre ton problème. Pour ta deuxième sous-requête il te manque la fin du BETWEEN aussi.
__________________
~ Lola ~ Ne pas oublier : et aussi :
|
|
|
|
00
|
|
|
#6 | |
|
Membre confirmé
![]() Inscription : juin 2002 Messages : 352 ![]() |
merci a vous tous
->punkoff: J'ai corrige ma faute en mettant distinct au lieu de group by. ->lola06: Citation:
donc dans ce cas la, ma requete fonctionne bien encore merci
__________________
Franchement, je suis capable du meilleur comme du pire, mais, dans le pire, c'est moi le meilleur. Coluche |
|
|
|
00
|
|
|
#7 |
|
Membre Expert
![]() Inscription : août 2009 Messages : 779 ![]() |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com