В таблице у меня есть, как это:Удалить ненужные столбцы Pivot в SQL Server
CEID BUID WEIGHT TREND SCORE Quarter
---------------------------------------
CE001 BU001 4 5 20 1
CE001 BU001 4 0 22 2
CE001 BU001 4 0 23 3
CE001 BU001 4 0 24 4
Результат я хочу, как этот
CEID BUID WEIGHT TREND Q1 Q2 Q3 Q4
---------------------------------------
CE001 BU001 4 NA 20 22 23 24
я написал следующую сводную запрос:
select *
from table
pivot (sum (score) for quarter in ([1],[2],[3],[4])) as ScorePerQuarter
Но поскольку тренд также меняется, я получаю несколько строк в сводном запросе, а также для разных значений тренда.
Как достичь результата, показанного выше? т.е.: удалить столбец тренда из запроса в целом.
Спасибо .. Так нужна временная таблица. – Haswell
@eyeanand нет, здесь нет временной таблицы. Это общее табличное выражение (CTE). Вы также можете сделать это с помощью подзапроса/производной таблицы. –
ok..but не является CTE своего рода временным хранилищем, которое гаснет, как только его использование закончено .... у меня появилась идея для запроса ... также я хотел вставить результат запроса в таблицу поэтому там синтаксис CTE создавал проблемы, поэтому я создал временную таблицу и использовал опорную точку в этой таблице ... в любом случае у меня есть идея, которую вы поделили. – Haswell