Я играл с SQL Fiddle, и я очень близок к тому, чтобы быть сделанным - мне просто нужна помощь по возврату данных столбца (я думаю, что заголовок varchar с двумя слова (пример: High Value) бросает егоSQL pivot columns null (код/результаты включены)
Это запрос я борюсь с:.
SELECT Velocity
, [Very High]
, High
, [Medium]
, [Low]
, [Very Low]
, [Total]
FROM (
SELECT CASE
WHEN GROUPING(velocity) = 0 THEN CAST(velocity AS CHAR(7))
ELSE 'Total'
END AS velocity
, CASE
WHEN GROUPING(volume) = 0 THEN CAST(volume AS CHAR(7))
ELSE 'Total'
END AS volume
, SUM(Sales) AS Sales
FROM test1
GROUP BY velocity, volume
WITH CUBE
) AS s
PIVOT(SUM(Sales) FOR volume IN ([Very High], [High], [Medium], [Low], [Very Low], [Total])) AS p;
Я ожидал увидеть этот результат:
Добавление SQL Fiddle
, даже если скрипка поможет, вам нужно добавить больше информации в свой вопрос, потому что когда-нибудь скрипт sql не работает, и ppl не сможет его увидеть. –
Извинения! Короче говоря, под моими столбцами «Очень высокий» и «Очень низкий», я получаю значения NULL в моем запросе. Тем не менее под столбцом «Высокий» или «Средний» я возвращаю значения просто отлично. – user5741399
SELECT Velocity, [Very High], High, [Medium], [Low], [Very Low], [Total] FROM ( SELECT CASE WHEN GROUPING (velocity) = 0 THEN CAST (скорость AS CHAR (7)) ELSE 'Total' END AS speed, CASE WHEN GROUPING (объем) = 0 THEN CAST (объем AS CHAR (7)) ELSE 'Total' END AS volume, SUM (Sales) AS Sales FROM test1 GROUP BY velocity , объем С CUBE ) AS s PIVOT (SUM (Sales) ДЛЯ объема IN ([Очень высокий], [Высокий], [Средний], [Низкий], [Очень низкий], [Всего])) AS p – user5741399