Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Question sur select

1 réponse
Avatar
Ralf Meuser
Bonjour à tous

Voici mes données tests:


No_Article Nom No_Groupe Montant
10 Gasoil 10 55.55
20 Vis 20 33.33
50 Gasoil Vert 10 100.00


et voici le résultat voulu:

Nom No_Groupe Montant
Gasoil 10 155.55
Vis 20 33.33


select nom,no_group,sum(montant ) from table group by nom,no_group

Biensur la requête ne marche pas comme ca, mais existe il une fonction
laquelle me donne le nom seulement si no_article et no_groupe sont
identique?

Merci d'avance pour votre aide.

salutations

Ralf

1 réponse

Avatar
Fred.M.
Salut Ralf.
L'erreur que tu commets est que tu insères le nom dans ta clause GROUP BY.
Tu mélange une information de granularité "détail" avec une information de
granularité "synthèse".
Le seul point d'ajustement concerne ton libellé "gasoil" de ton résultat :
je présume que tu disposes d'une table "groupe" avec un "No_Groupe" et un
"Nom_Groupe" où le Nom_Groupe pour le No_Groupe 10 serait "Gasoil" non ?

Si tel est le cas la syntaxe correcte est:

SELECT no_group, Nom_Groupe, sum(montant)
FROM table T inner join table_groupe G
ON T.no_group = G.no_group
GROUP BY no_group

Fred.M

"Ralf Meuser" a écrit :
Bonjour à tous

Voici mes données tests:


No_Article Nom No_Groupe Montant
10 Gasoil 10 55.55
20 Vis 20 33.33
50 Gasoil Vert 10 100.00


et voici le résultat voulu:

Nom No_Groupe Montant
Gasoil 10 155.55
Vis 20 33.33


select nom,no_group,sum(montant ) from table group by nom,no_group

Biensur la requête ne marche pas comme ca, mais existe il une fonction
laquelle me donne le nom seulement si no_article et no_groupe sont
identique?

Merci d'avance pour votre aide.

salutations

Ralf