我有3个不同的表,分别是SALESMAN,SALES和PRODUCT。这就是我要做的事情,我必须为每个销售人员在1种以上产品上列出每种产品的总销售额
这些是我的桌子及其列
Product table --> product_id,product_name, price
Salesman table --> Salesman_id, Salesman_name
Sales table --> Sales_id, Salesman_id,Product_id, quantity
SELECT a.Slaesman_name, p.Product_name, t.quantity FROM SALES t
inner join SALESMAN a on t.Salesman_id =a.Salesman_id
inner join PRODUCT p on t.Product_id = p.Product_id
到目前为止,这是我的SQL,但是我需要显示仅在一种以上产品上有销售的记录,我应该如何继续?
答案 0 :(得分:0)
要查找哪些销售员销售了一种以上的产品,请使用
SELECT Salesman_id
FROM SALES t
Group By Salesman_id
Where COUNT(Product_id) > 1
答案 1 :(得分:0)
因为您想要总销售额,所以我们应该使用SUM
语法,并且每当有sum时,对于其他未求和的列,应该使用GROUP BY
语法。由于以下条件,最后会有HAVING
:
SELECT a.Slaesman_name, p.Product_name, Sum(t.quantity) FROM SALES t
inner join SALESMAN a on t.Salesman_id =a.Salesman_id
inner join PRODUCT p on t.Product_id = p.Product_id
GROUP BY (a.Slaesman_name, p.Product_name)
HAVING Sum(t.quantity) > 1