Не могли бы вы помочь мне взглянуть на мою ошибку?
Исходная таблица:
Таблица назначения:
Используйте следующий код:
Select DATE,cities,sales
From Test
UNPIVOT
( sales
For cities in (city1, city2, city3)
) AS XYZ
и результат успешен.
Однако список городов может вырасти в city4, city5 ... Так что я был пытаясь использовать Dynami c unpivot для достижения этого
Код:
DECLARE @cols AS NVARCHAR(MAX);
select @cols = COALESCE(@cols + ',', '') + quotename(COLUMN_NAME)
From ( Select column_name
FROM information_schema.columns
WHERE table_name = 'Test'
AND COLUMN_NAME <> 'Date' ) AS FiledList
Select DATE,cities,sales
From Test
UNPIVOT
( sales
For cities in (@cols)
) AS XYZ
Кажется, что есть ошибка, и попытался пару способов, не работает.