SQL : problème Group By
Fermé
Alexander Laurent
-
18 sept. 2007 à 15:06
dcanl Messages postés 3004 Date d'inscription mercredi 7 septembre 2005 Statut Contributeur Dernière intervention 3 juin 2013 - 19 sept. 2007 à 18:08
dcanl Messages postés 3004 Date d'inscription mercredi 7 septembre 2005 Statut Contributeur Dernière intervention 3 juin 2013 - 19 sept. 2007 à 18:08
A voir également:
- SQL : problème Group By
- Logiciel sql - Télécharger - Bases de données
- Sql server recovery - Télécharger - Gestion de données
- Requête sql pix - Forum Python
- Dupliquer une table sql ✓ - Forum Programmation
- Sql commence par ✓ - Forum Webmastering
6 réponses
Précise déja dans ton SELECT NO_TICKET etc ... les tables des quelles tu extrait les champs ==> SELECT NomTable.NO_TICKET a mon avis il doit avoir une confusions a ce niveau. De plus de quel type est ton champs DATE_VENTE car si il est en type date, et que je me souvien bien, ce n'est pas encadré de simple cote mais de #.
dcanl
Messages postés
3004
Date d'inscription
mercredi 7 septembre 2005
Statut
Contributeur
Dernière intervention
3 juin 2013
470
18 sept. 2007 à 15:30
18 sept. 2007 à 15:30
Salut.
Je suis d'accord avec Djekill : précise dans quelle table le champ doit être sélectionné. Par contre, pour #, je pense qu'il voulait mettre " (double quote).
Ensuite, concernant ta dernière ligne, enlève l'espace après SUM.
Pour le DISTINCT, étant donné que la sélection concerne plusieurs tables, essaie avec DISTINCTROW.
@+
Je suis d'accord avec Djekill : précise dans quelle table le champ doit être sélectionné. Par contre, pour #, je pense qu'il voulait mettre " (double quote).
Ensuite, concernant ta dernière ligne, enlève l'espace après SUM.
Pour le DISTINCT, étant donné que la sélection concerne plusieurs tables, essaie avec DISTINCTROW.
@+
Les champs date c'est sur que c'est des #, apres s'il a définie sont champs comme un texte dans sa table alors il ne peu faire de BETWEEN faudrait plus de précision a ce sujet
Bye
Bye
Tout d'abord, je vous remercie pour vos réponses.
Concernant la date, il n'y a pas de soucis en utilisant les simples guillements ( ' ) et la requête génére une erreur lorsque j'utilise des #. Ce qui est étrange c'est qu'il s'agit bien d'un champ "Date".
J'ai essayé le DISTINCTROW et j'ai 'ajouté les noms des tables dans mon SELECT, j'ai aussi retirer l'espace entre le SUM et le calcul mais rien à faire. C'est vraiment le GROUP BY qui pose problème et le DISTINCT après le SELECT.
Si vous avez d'autres propositions à me faire parvenir, je vous remercie par avance.
Cordialement
Alexander Laurent
Concernant la date, il n'y a pas de soucis en utilisant les simples guillements ( ' ) et la requête génére une erreur lorsque j'utilise des #. Ce qui est étrange c'est qu'il s'agit bien d'un champ "Date".
J'ai essayé le DISTINCTROW et j'ai 'ajouté les noms des tables dans mon SELECT, j'ai aussi retirer l'espace entre le SUM et le calcul mais rien à faire. C'est vraiment le GROUP BY qui pose problème et le DISTINCT après le SELECT.
Si vous avez d'autres propositions à me faire parvenir, je vous remercie par avance.
Cordialement
Alexander Laurent
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Moi perso j'aurai essayé ca :
1) SELECT NO_TICKET, NO_ARTICLE, LIBELLE, PRIX_TTC, (TICKET_DETAIL.PRIX_TTC/ARTI_STOCK.PV_TTC) AS POIDS
2) FROM ARTICLE JOIN TICKET_DETAIL ON ARTICLE.NO_ARTICLE = TICKET_DETAIL.NO_ARTICLE
3) JOIN ARTI_STOCK ON ARTI_STOCK.NO_ARTICLE = ARTICLE.NO_ARTICLE
4) WHERE DATE_VENTE BETWEEN '2007-09-10' AND '2007-09-10'
5) GROUP BY NO_TICKET, NO_ARTICLE, LIBELLE, PRIX_TTC;
1) SELECT NO_TICKET, NO_ARTICLE, LIBELLE, PRIX_TTC, (TICKET_DETAIL.PRIX_TTC/ARTI_STOCK.PV_TTC) AS POIDS
2) FROM ARTICLE JOIN TICKET_DETAIL ON ARTICLE.NO_ARTICLE = TICKET_DETAIL.NO_ARTICLE
3) JOIN ARTI_STOCK ON ARTI_STOCK.NO_ARTICLE = ARTICLE.NO_ARTICLE
4) WHERE DATE_VENTE BETWEEN '2007-09-10' AND '2007-09-10'
5) GROUP BY NO_TICKET, NO_ARTICLE, LIBELLE, PRIX_TTC;
dcanl
Messages postés
3004
Date d'inscription
mercredi 7 septembre 2005
Statut
Contributeur
Dernière intervention
3 juin 2013
470
19 sept. 2007 à 18:08
19 sept. 2007 à 18:08
En y regardant de plus près...
GROUP BY NO_ARTICLE HAVING SUM(TICKET_DETAIL.PRIX_TTC/ARTI_STOCK.PV_TTC) AS POIDS n'est pas valide.
Tu n'as pas de condition pour ton having. Tu ne donnes que la somme sans l'utiliser.
GROUP BY NO_ARTICLE HAVING SUM(TICKET_DETAIL.PRIX_TTC/ARTI_STOCK.PV_TTC) AS POIDS > 1500 serait mieux (il y a une condition).
Et puis, je ne suis pas certain qu'il faille redire SUM(TICKET_DETAIL.PRIX_TTC/ARTI_STOCK.PV_TTC) AS POIDS étant donné que tu as déjà dans le select (TICKET_DETAIL.PRIX_TTC/ARTI_STOCK.PV_TTC) AS POIDS...
Essaie GROUP BY NO_ARTICLE HAVING SUM(POIDS) > 1500
Essaie aussi ce que te dis paftek.
Ce n'est peut-être pas ça qui règlera ton problème, mais ces suggestions méritent d'être testées.
@+
GROUP BY NO_ARTICLE HAVING SUM(TICKET_DETAIL.PRIX_TTC/ARTI_STOCK.PV_TTC) AS POIDS n'est pas valide.
Tu n'as pas de condition pour ton having. Tu ne donnes que la somme sans l'utiliser.
GROUP BY NO_ARTICLE HAVING SUM(TICKET_DETAIL.PRIX_TTC/ARTI_STOCK.PV_TTC) AS POIDS > 1500 serait mieux (il y a une condition).
Et puis, je ne suis pas certain qu'il faille redire SUM(TICKET_DETAIL.PRIX_TTC/ARTI_STOCK.PV_TTC) AS POIDS étant donné que tu as déjà dans le select (TICKET_DETAIL.PRIX_TTC/ARTI_STOCK.PV_TTC) AS POIDS...
Essaie GROUP BY NO_ARTICLE HAVING SUM(POIDS) > 1500
Essaie aussi ce que te dis paftek.
Ce n'est peut-être pas ça qui règlera ton problème, mais ces suggestions méritent d'être testées.
@+