DECLARE @tname VARCHAR(MAX)
SET @tname=''
SELECT @tname=@tname+convert(varchar,tcode)+',' FROM Table_maintenancereport
GROUP BY tcode
SET @tname=LEFT(@tname,LEN(@tname)-1)
exec('
select *
from
(select SUM(timedurationok)as wt,tcode
from Table_maintenancereport
where (svok=1 and need_netok=0) or (svok=1 and netok=1 and need_netok=1)
group by tcode
)t
pivot (sum(wt)
for tname in ('+@tname+'))p')
при выполнении этого запроса sql выдает эту ошибку:
Msg 102, уровень 15, состояние 1, строка 10Неверный синтаксис рядом с '2917'.
tcode - это значение типа int, но я конвертирую его в varchar, это может быть проблемой?!