【发布时间】:2017-05-10 11:53:17
【问题描述】:
我在 SQL 方面的经验有限,但我被要求从 MS Access 转换以下查询。
TRANSFORM SUM(weekpace_crosstab.wgt) AS SumOfwgt
SELECT
Products.[Product Type], SUM(weekpace_crosstab.wgt) AS DeliveryTotal
FROM
(weekpace_crosstab
LEFT JOIN
Customer ON weekpace_crosstab.Customer = Customer.Customer) LEFT JOIN Products ON weekpace_crosstab.Product = Products.[Product Code]
WHERE (((Customer.[Customer Group])="Sainsbury"))
GROUP BY Products.[Product Type]
PIVOT weekpace_crosstab.Date;
这是结果...
通过谷歌和这个论坛上的其他问题,我写了以下声明。但是,我无法使交付总额如上图所示。
SELECT * FROM
(
SELECT P.[Product Type], wc.Date, sum (wc.wgt) AS DeliveryTotal
FROM weekpace_crosstab AS wc LEFT JOIN Customer AS C ON wc.Customer = C.Customer LEFT JOIN Products as p
ON wc.Product = P.[Product Code]
WHERE C.[Customer Group]='Co-op'
GROUP BY p.[Product Type], wc.Date, wc.wgt
) AS s
PIVOT
(
SUM (DeliveryTotal)
FOR [Date] in ([2017-01-23],[2017-01-24],[2017-01-25],[2017-01-26],[2017-01-27],[2017-01-28],[2017-01-29])
)AS pvt
ORDER BY [Product Type]
这是这个查询的结果...
任何人都可以建议如何添加交付总额列吗?
感谢您的关注。
【问题讨论】:
-
请为您要转换的
SQL形式添加一个标签到(即MySQL、SQL-Server等)。
标签: sql sql-server ms-access