大家好,我在如何获取 TotalSold 列中给定日期的总和方面遇到了困难。我这里有 PartNumber、TotalOrder、TotalSold 和 POUnitCost。我如何过滤 TotalSold 的日期,因为它的日期位于另一个名为 SO_SalesOrder 的表中。谢谢!
我的查询:
select PartNumber = (select name from base_product as PROD where prod.prodid = POL.prodid),
TotalOrder = sum(POL.quantity),
TotalSold = (select sum(SOL.quantity) from so_salesorder_line as SOL where SOL.ProdId = POL.prodid),
PoUnitCost = max(POL.UnitPrice)
from PO_Purchaseorder_line as POL
where POL.purchaseorderid in (
select purchaseorderid
from PO_purchaseorder as PO
where orderdate >= '5/1/2015')
group by POL.prodid
最佳答案
将 so_salesorder_line
与 so_salesorder
连接起来,以便能够访问日期。
顺便说一句,请使用 ISO 日期文字而不是不明确的日期字符串。 (“5/1/2015”可能意味着 5 月 1 日或 1 月 5 日,具体取决于 DBMS 中的当前设置。)
这是获取 TotalSold 的部分(对于 5 月 1 日 - 如果您想要 1 月 5 日,请将其更改为“20150105”。)
TotalSold =
(
select sum(SOL.quantity)
from so_salesorder_line as SOL
join so_salesorder SO on SO.salesorderid = SOL.salesorderid
where SOL.ProdId = POL.prodid
and SO.orderdate >= '20150501'
),
关于mysql - MS SQL 获取给定日期的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37852836/