Je voudrais la reponse a cette requete demande

lagas965
Messages postés
2
Date d'inscription
lundi 26 novembre 2018
Statut
Membre
Dernière intervention
26 novembre 2018
- 26 nov. 2018 à 06:14
jordane45
Messages postés
35415
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 mai 2022
- 26 nov. 2018 à 07:16
j'ai deux tables, table Membres et table Ventes, je voudrais afficher le nombre de vente des client de l'ontario (ontario = ON) et le nombres total des ventes et le pourcentage avec deux decimal
Voila comment je me suis prise
SELECT COUNT(dbo.BB_Ventes.VenteID) AS NbVentesTotal, COUNT(dbo.BB_Ventes.VenteID) AS NbVenteProvincial
FROM dbo.BB_Membres INNER JOIN
dbo.BB_Ventes ON dbo.BB_Membres.NoMembre = dbo.BB_Ventes.NoMembre
HAVING (dbo.BB_Membres.ProvCode = 'ON')

mais il y'a d'erreur parce qu'il exige le Group By et je comprend rien de ca

1 réponse

jordane45
Messages postés
35415
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 mai 2022
356
26 nov. 2018 à 06:47
Bonjour (si si.. on commence par ça ici !!)

Ensuite pourquoi ne pas faire un where tout simplement ?
0
jordane45
Messages postés
35415
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 mai 2022
356
26 nov. 2018 à 06:48
Et tes deux coint sont identiques non ?
0
lagas965
Messages postés
2
Date d'inscription
lundi 26 novembre 2018
Statut
Membre
Dernière intervention
26 novembre 2018

26 nov. 2018 à 06:49
je fais un where sur qu'elle champ ?
0
jordane45
Messages postés
35415
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 mai 2022
356 > lagas965
Messages postés
2
Date d'inscription
lundi 26 novembre 2018
Statut
Membre
Dernière intervention
26 novembre 2018

26 nov. 2018 à 07:16
Ben.. à la place de
HAVING (dbo.BB_Membres.ProvCode = 'ON') 

WHERE  dbo.BB_Membres.ProvCode = 'ON'


mais bon... ça ne donnera pas le résultat souhaité de toutes façons....
Comme je te l'ai indiqué, tu as deux fois le même COUNT et rien qui ne puisse les différencier... et si tu mets un HAVING ou un WHERE.. tu n'auras pas le nombre TOTAL... juste les lignes qui sont pour l'ontario

Et puis je pense que tu prends ta requête dans le mauvais sens...
Vu que ce sont les ventes qui t'interesse.. je commencerai par
FROM dbo.BB_Ventes

et je ferai la jointure sur les membres
LEFT JOIN  dbo.BB_Membres  ON dbo.BB_Membres.NoMembre = dbo.BB_Ventes.NoMembre


Tu devrais également t'interesser à la clause IF/ELSE
https://docs.microsoft.com/fr-fr/sql/t-sql/language-elements/if-else-transact-sql?view=sql-server-2017
0