Это может сработать для вас. Пользователь @jarlh прав, говоря в комментариях, что вам нужно указать версию SQL Server, которую вы используете.
coluName
Итак, идея состоит в том, чтобы использовать простой PIVOT
на вашем столе, поворачивая столбец coluName
. Значения, которые нужно динамически получать каждый раз, поскольку у вас нет статического списка int
значений.
Вы можете проверить хорошее объяснение на динамическом повороте здесь .
Вы можете проверить рабочую версию этого запроса здесь .
EDIT :
Чтобы ответить на ваш вопрос в комментариях, то же таблица #t может быть использован , как это (указать ваши правильные типы данных, я ставлю int
, numeric
и в varchar
качестве примера):
if object_id('tempdb..#t') is not null drop table #t
create table #t (id int, amount numeric, coluName varchar(10))
insert into #t
select e.id, e.Amount, i.ColuName
from FixAm e inner join InCo i on i.CCode = e.CCode
where i.cid = 49
Затем просто используйте вышеуказанный динамический стержень.