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 38185 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 23 mai 2024 - 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 38185 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 23 mai 2024 344
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 38185 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 23 mai 2024 344
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 38185 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 23 mai 2024 344 > 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
Rejoignez-nous