销售和多个结果

时间:2017-03-28 01:16:44

标签: mysql sql

Hello Stack Overflow社区!我有一个查询显示产品名称的多个结果,我试图将结果显示为一个。基本上,我试图创建一个显示产品单位销售额的报告,最终结果应该显示每个产品一次,以及产品的总销售量。任何建议都非常有用,谢谢!

select count(distinct p.ProductID), p.ProductName, od.Quantity,
p.UnitPrice
from Products p
full join OrderDetails od
on p.ProductID = od.ProductID
group by p.ProductName, od.Quantity, p.UnitPrice

2 个答案:

答案 0 :(得分:0)

尝试

select p.ProductID, p.ProductName, p.UnitPrice, SUM(od.Quantity) AS total_sold
from Products p
join OrderDetails od on p.ProductID = od.ProductID
group by p.ProductID

答案 1 :(得分:0)

我相信这就是你想要的:

select p.ProductName, sum(od.Quantity)
from Products p left join
     OrderDetails od
     on p.ProductID = od.ProductID
group by p.ProductName;

注意:

  • 请勿在{{1​​}}中添加您不需要的列。
  • select几乎不需要。 full outer join将返回所有产品,即使是那些没有订单的产品。 left join可能就足够了。
  • 按唯一定义每一行的列进行聚合。