0
我正在第二次学习SQL,而且我无法弄清楚如何加入额外的表(这是需要访问该表中的一个字段,我想总结),没有它返回结果的额外的行,因为这是给我不正确的计数。SQL - 当我加入一个附加表格时,它将行添加到我不想计数的结果中
这是我的问题,因为我看到它,但也许我的方法是错误的。
我需要完成的是在OrderItems表中找到每个客户的ItemPrice的所有订单。我已经这样做了,但由于不得不加入附加表格,因此并非没有得到错误的订单数量。
以下是我正在处理的问题的缩写代码,后面是结果。代码原样运行的结果在左侧,结果通过取消注释右侧的2行。
select customers.FirstName, Orders.CustomerID, count(*) as NumOfOrders
from Orders
join Customers
on orders.CustomerID=Customers.CustomerID
-- join OrderItems
-- on OrderItems.OrderID=Orders.OrderID
group by customers.FirstName, Orders.CustomerID
having count(*) > 1
order by NumOfOrders desc
fname ID count fname ID count
--------------------- ----------------------
David 4 3 Allan 1 3
Heather 8 2 David 4 3
Kris 18 2 Frank 6 3
Bette 29 2 Heather 8 2
Allan 1 2 Simona 14 2
Kris 18 2
Yuki 27 2
Bette 29 2
Chanel 35 2
GI订单/客户和orderitem的数据库名称/版本/样本数据以及您的输出。如果您使用http://sqlfiddle.com创建和插入语句,那将会很有帮助。 – Utsav
提供订单,订单商品,客户的示例表... – Chandru