Как рассчитать SQL столбец для выполнения ниже требования - PullRequest
1 голос
/ 02 мая 2020

В настоящее время у меня есть моя таблица, как показано ниже:

SourceTable

Я хочу вычислить и получить значения в новой таблице следующим образом:

ReqTable

1 Ответ

1 голос
/ 02 мая 2020

Попробуйте, может быть, это вам поможет.

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 Документация

...