Prbleme requete SQL contenant des sommes
eldrad95
Messages postés
5
Date d'inscription
Statut
Membre
Dernière intervention
-
eldrad95 Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
eldrad95 Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un soucis avec la rédaction d'une requête SQL (je débute) contenant plusieurs sommes, voici en gros ma requête :
SELECT T_LIGNESCDES.NUMCDE, T_LIGNESCDES.PRIXU, T_LIGNESCDES.NOLIG, summ(T_LIGNESCDES.PXTOTLIG) As pxttrefart, T_RELIQUATS.NUMCLIENT, T_RELIQUATS.REFARTICLE, T_RELIQUATS.TAILLE, SUM(T_RELIQUATS.QTE) As qtettal, T_RELIQUATS.REFCLIENT, T_ENTETECDE.DELAICLIENT, T_ENTETECDE.NUMCDECLIENT, T_ARTICLES.DESIGNATION FROM T_RELIQUATS INNER JOIN T_LIGNESCDES ON ( T_RELIQUATS.NUMCDE = T_LIGNESCDES.NUMCDE) INNER JOIN T_ENTETECDE ON ( T_RELIQUATS.NUMCDE = T_ENTETECDE.NUMCDE) INNER JOIN T_ARTICLES ON (T_RELIQUATS.REFARTICLE = T_ARTICLES.REFARTICLE) GROUP BY T_RELIQUATS.REFARTICLE
j'obtiens en erreur :
Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Invalid expression in the select list (not contained in either an aggregate function or the GROUP BY clause).
j'en déduit que je me plante dans ma requête, mais je ne vois pas où. :(.
J'ai un soucis avec la rédaction d'une requête SQL (je débute) contenant plusieurs sommes, voici en gros ma requête :
SELECT T_LIGNESCDES.NUMCDE, T_LIGNESCDES.PRIXU, T_LIGNESCDES.NOLIG, summ(T_LIGNESCDES.PXTOTLIG) As pxttrefart, T_RELIQUATS.NUMCLIENT, T_RELIQUATS.REFARTICLE, T_RELIQUATS.TAILLE, SUM(T_RELIQUATS.QTE) As qtettal, T_RELIQUATS.REFCLIENT, T_ENTETECDE.DELAICLIENT, T_ENTETECDE.NUMCDECLIENT, T_ARTICLES.DESIGNATION FROM T_RELIQUATS INNER JOIN T_LIGNESCDES ON ( T_RELIQUATS.NUMCDE = T_LIGNESCDES.NUMCDE) INNER JOIN T_ENTETECDE ON ( T_RELIQUATS.NUMCDE = T_ENTETECDE.NUMCDE) INNER JOIN T_ARTICLES ON (T_RELIQUATS.REFARTICLE = T_ARTICLES.REFARTICLE) GROUP BY T_RELIQUATS.REFARTICLE
j'obtiens en erreur :
Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Invalid expression in the select list (not contained in either an aggregate function or the GROUP BY clause).
j'en déduit que je me plante dans ma requête, mais je ne vois pas où. :(.
A voir également:
- Prbleme requete SQL contenant des sommes
- Logiciel sql - Télécharger - Bases de données
- Excel sélectionner toutes les lignes contenant un mot ✓ - Forum Excel
- Jointure sql ✓ - Forum MySQL
- Requête sql pour afficher uniquement les fleurs dont le prix est strictement inférieur à 10 euros - Forum calculatrices
- Sql (+) - Forum Programmation
2 réponses
bonjour
l'utilisation du group by implique de citer dans cette clause toutes les expressions non récapitulatives.
en français, ça veut dire que tout ce qui est dans ton select et qui n'est pas sum, avg, min, max, count DOIT figurer dans le group by
l'utilisation du group by implique de citer dans cette clause toutes les expressions non récapitulatives.
en français, ça veut dire que tout ce qui est dans ton select et qui n'est pas sum, avg, min, max, count DOIT figurer dans le group by
merci pour ta réponse,
j'ai fait comme tu m'as dit et j'ai donc mis ceci en requete
SELECT T_LIGNESCDES.NUMCDE, T_LIGNESCDES.PRIXU, T_LIGNESCDES.NOLIG, sum(T_LIGNESCDES.PXTOTLIG)
As pxttrefart, T_RELIQUATS.NUMCLIENT, T_RELIQUATS.REFARTICLE, T_RELIQUATS.TAILLE, SUM(T_RELIQUATS.QTE)
As qtettal, T_RELIQUATS.REFCLIENT, T_ENTETECDE.DELAICLIENT, T_ENTETECDE.NUMCDECLIENT, T_ARTICLES.DESIGNATION
FROM T_RELIQUATS INNER JOIN T_LIGNESCDES ON ( T_RELIQUATS.NUMCDE = T_LIGNESCDES.NUMCDE) INNER JOIN T_ENTETECDE
ON ( T_RELIQUATS.NUMCDE = T_ENTETECDE.NUMCDE) INNER JOIN T_ARTICLES ON (T_RELIQUATS.REFARTICLE = T_ARTICLES.REFARTICLE)
GROUP BY T_RELIQUATS.REFARTICLE, T_LIGNESCDES.NUMCDE, T_LIGNESCDES.PRIXU,
T_LIGNESCDES.NOLIG, T_RELIQUATS.REFARTICLE, T_RELIQUATS.TAILLE,
T_RELIQUATS.REFCLIENT, T_ENTETECDE.DELAICLIENT, T_ENTETECDE.NUMCDECLIENT, T_ARTICLES.DESIGNATION
mais je retombe hélas sur la même erreur :(.
j'ai fait comme tu m'as dit et j'ai donc mis ceci en requete
SELECT T_LIGNESCDES.NUMCDE, T_LIGNESCDES.PRIXU, T_LIGNESCDES.NOLIG, sum(T_LIGNESCDES.PXTOTLIG)
As pxttrefart, T_RELIQUATS.NUMCLIENT, T_RELIQUATS.REFARTICLE, T_RELIQUATS.TAILLE, SUM(T_RELIQUATS.QTE)
As qtettal, T_RELIQUATS.REFCLIENT, T_ENTETECDE.DELAICLIENT, T_ENTETECDE.NUMCDECLIENT, T_ARTICLES.DESIGNATION
FROM T_RELIQUATS INNER JOIN T_LIGNESCDES ON ( T_RELIQUATS.NUMCDE = T_LIGNESCDES.NUMCDE) INNER JOIN T_ENTETECDE
ON ( T_RELIQUATS.NUMCDE = T_ENTETECDE.NUMCDE) INNER JOIN T_ARTICLES ON (T_RELIQUATS.REFARTICLE = T_ARTICLES.REFARTICLE)
GROUP BY T_RELIQUATS.REFARTICLE, T_LIGNESCDES.NUMCDE, T_LIGNESCDES.PRIXU,
T_LIGNESCDES.NOLIG, T_RELIQUATS.REFARTICLE, T_RELIQUATS.TAILLE,
T_RELIQUATS.REFCLIENT, T_ENTETECDE.DELAICLIENT, T_ENTETECDE.NUMCDECLIENT, T_ARTICLES.DESIGNATION
mais je retombe hélas sur la même erreur :(.