我有 2 张桌子Products
和Invoices
. 每个Products
都可以在一些Invoices
.
Product:
Id| Name
ـــــــــــــــ
1 | pencil
2 | pen
3 | ruler
Invoice:
Id| ProductID| Serial |Qty
ـــــــــــــــــــــــــــــ
1 | 1 |100 |5
2 | 1 |200 |6
3 | 2 |300 |8
4 | 3 |400 |18
当我编写以下查询时
select * , SUM(Invoices.Qty)
FROM Products left outer join Invoices on Products.Id = Invoices.ProductID
Group by Products.Id
结果:
Id| Name |Id|ProductID| Serial|SUM(Invoices.Qty)
ـــــــــــــــــــــــــــــــــــــــــــــــــــــ
1 |pencil |2 |1 |200 |11 -> (5+6)
2 |pen |3 |2 |300 |8
3 |ruler |4 |3 |400 |18
它返回最后一张 Invoice加入的所有产品的列表。它计算Qty
正确,但问题是最后一张发票的选择。如何编写一个Qty
正确计算并返回我想要Invoices
的查询。id
在此示例中,我希望发票 ID 为 1(序列号 100)而不是 2(序列号 200)