【发布时间】:2020-04-04 00:17:11
【问题描述】:
下面的代码返回一系列年份的每日总和。我想将约束添加到 COGS 列 WHERE IVENTORY.CONSIGNMENT = "No"。我尝试添加一个子查询,但我尝试的一切都导致了错误。应如何编码子查询以使用以下代码?
SELECT a.[Month / Day / Year],
Round(Sum(a.[COGS]), 2) AS COGS
FROM
(SELECT Format(DatePart("m", sale_date), "00") & "/" & Format(DatePart("d", sale_date), "00") & "/" & DatePart("yyyy", sale_date) AS [Month / Day / Year],
Format(DatePart("d", s.sale_date), "00") AS [Sale Day],
Format(DatePart("m", s.sale_date), "00") AS [Sale Month],
DatePart("yyyy", s.sale_date) AS [Sale Year],
Nz(i.VENDOR_ACTUAL_PRICE, 0)*Nz(s.quantity, 0) AS COGS
FROM INVENTORY AS i
INNER JOIN SALES_RECEIPT AS s ON i.INVENTORY_ID = s.INVENTORY_ID
WHERE DatePart("yyyy", sale_date) BETWEEN 2000 AND 2100) AS a
GROUP BY a.[Month / Day / Year],
a.[Sale Month],
a.[Sale Day],
a.[Sale Year]
ORDER BY a.[Sale Year],
a.[Sale Month],
a.[Sale Day];
【问题讨论】:
标签: sql ms-access subquery aggregate-functions