Je voudrais la reponse a cette requete demande

Messages postés
2
Date d'inscription
lundi 26 novembre 2018
Dernière intervention
26 novembre 2018
- - Dernière réponse : jordane45
Messages postés
23639
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 décembre 2018
- 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
Afficher la suite 

Votre réponse

1 réponse

Messages postés
23639
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 décembre 2018
0
Merci
Bonjour (si si.. on commence par ça ici !!)

Ensuite pourquoi ne pas faire un where tout simplement ?
jordane45
Messages postés
23639
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 décembre 2018
-
Et tes deux coint sont identiques non ?
lagas965
Messages postés
2
Date d'inscription
lundi 26 novembre 2018
Dernière intervention
26 novembre 2018
-
je fais un where sur qu'elle champ ?
jordane45
Messages postés
23639
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 décembre 2018
> lagas965
Messages postés
2
Date d'inscription
lundi 26 novembre 2018
Dernière intervention
26 novembre 2018
-
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
Commenter la réponse de jordane45

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.