0
votes

Total des ventes de chaque produit pour chaque vendeur qui avait des ventes sur plus de 1 produit

J'essaie d'écrire une requête pour ces trois tables mais j'ai échoué.

J'ai essayé de conclure avec avoir et groupe par des déclarations, mais j'ai des erreurs dans des structures de jointure

i a écrit une requête comme celle-ci. xxx

mais le résultat de la requête doit ressembler à ceci: xxx

J'ai préparé la base de données Sqlfiddle http://www.sqlfiddle.com/#!18/ba5ee/6

Merci d'avance pour votre aide


3 commentaires

Passer p.product_name dans Sélectionnez la liste et le groupe. Utilisez-le à avoir à la place.


Mettez à jour votre question et ajoutez votre résultat attendu


Expliquez la logique, quelle moyenne ventes de top pour le produit?


3 Réponses :


0
votes

Il y a déjà une colonne de quantité dans votre violon. Basé sur cela, la solution: xxx

Voir: http://www.sqlfiddle.com/#!18/BA5ee/20


2 commentaires

Puis-je utiliser une jointure intérieure au lieu de rejoindre gauche?


Oui, vous pouvez. Ma question est que cela ne correspond pas à votre titre de titre du tout



0
votes

Ce code vous aidera. J'ai essayé. Succès informatique.

select distinct salesman.salesman_name, product.product_name, quantity
from sales
inner join salesman on salesman.salesman_id = sales.salesman_id
inner join product on product.product_id = sales.product_id
where salesman.salesman_name in (
select salesman.salesman_name
from sales
inner join salesman on salesman.salesman_id = sales.salesman_id
group by salesman.salesman_name
having count(salesman.salesman_name) > 1
)
and salesman.salesman_id not in(
select sales.salesman_id
from sales
group by sales.salesman_id, sales.product_id
having count(*) > 1
)


2 commentaires

Qu'est ce que ça fait? Il est utile que cela puisse expliquer un peu pourquoi cette réponse est meilleure que l'autre réponse.


Parce que Mahmut Tekin ne devrait pas être sur la liste. Il a vendu le même produit 2 fois. Mais quand je dirigez une requête SQL qu'une autre réponse, je l'ai vue. C'est faux. Tout d'abord, nous devons trouver une personne qui a vendu plus d'un produit après la vérification de la personne qui a vendu plus de même produit plus 2 fois et appliquez enfin filtrage.



0
votes

ici la réponse certaine. Pas besoin d'utiliser une jointure intérieure. Demandez si ce n'est pas compris xxx


1 commentaires

Ceci est une jointure interne, seule autre syntaxe utilisée