如何计算SQL列以满足以下要求?

问题描述 投票:0回答:1

目前我的表格如下。

SourceTable

我想在新的表格中计算和获取数值,就像这样。

ReqTable

sql pivot qsqlquery
1个回答
1
投票

试试这个,也许对你有帮助。

DROP TABLE IF EXISTS #List
CREATE TABLE #List (
    Customer varchar(10),
    Month varchar(10),
    Sales float,
    Credit float
)
INSERT INTO #List VALUES
('Customer A', 'Jan', 1000, 454),
('Customer A', 'Feb', 10002, 3443)

SELECT *
FROM (
    SELECT Customer, Month, CONCAT(Sales, ' - ', Credit) AS Sales_Credit
    FROM #List
) AS DATA
PIVOT (MAX(Sales_Credit) FOR Month IN ([Jan], [Feb])) AS MultiplePivotTable

你可以看到结果

如果是查询SSRS等报表,用矩阵向导就可以这么简单的处理。

编辑部分 (如果你只想计算和枢轴)。

SELECT *
FROM (
    SELECT Customer, Month, (Sales - Credit) AS NetAmount
    FROM #List
) AS DATA
PIVOT (SUM(NetAmount) FOR Month IN ([Jan], [Feb])) AS PivotTable

使用PIVOT 文件资料

© www.soinside.com 2019 - 2024. All rights reserved.