下面的代码显示了自我们的数据库创建以来所有进行了购买的客户以及他们花费了多少钱。自从我们实现了新的数据库后,有几个客户还没有购买过产品,但是当我运行这段代码时,他们并没有出现。我在这个网站上寻找过类似的例子,但解决方案对我来说太复杂了。还有一个customers表,它显示了所有'n‘个客户的结果,该表通过customerID连接到orders表。我不确定这是否会有帮助。
select t3.CustomerID, sum(Revenue) as Revenue
from
(
select orderid, sum(UnitPrice*quantity) as Revenue from [Order Details]
group by OrderID
)t1
inner join
(
select customerid,orderid from orders
)t3
on t1.orderid=t3.orderid
group by t3.CustomerID发布于 2014-01-29 03:47:26
我认为您只需要这个相当简单的查询:
select c.CustomerID, sum(od.UnitPrice * od.quantity) as Revenue
from customers c left outer join
orders o
on o.CustomerId = c.CustomerId left outer join
`Order Details` od
on od.OrderId = o.OrderId
group by c.CustomerID;https://stackoverflow.com/questions/21415162
复制相似问题