Тип столбцаконфликтует с типом других столбцов, указанных в списке UNPIVOT - PullRequest
0 голосов
/ 22 мая 2018
DECLARE @cols AS NVARCHAR(MAX),
@query  AS NVARCHAR(MAX)

select @cols = STUFF((SELECT TOP 7 CAST(',' + QUOTENAME(c.name) AS NVARCHAR(50)) 
                from tempdb.sys.columns c where object_id =
                object_id('tempdb..#MyTempTable')
                AND c.name NOT IN ('description')
        FOR XML PATH(''), TYPE
        ).value('.', 'NVARCHAR(MAX)') 
    ,1,1,'')

SET @query = 'SELECT * FROM #MyTempTable              
          UNPIVOT (
            Qty FOR Customer_Name IN (' + @cols + ')
          ) unpvt 
          WHERE [description] NOT IN (''Grand Total'') ORDER BY [Customer_Name] ASC'

exec sp_executesql @query;

Выше мой код, я не знаю, какая часть вызывает ошибку, но если я выберу только Top 6 и ниже, это нормально.

Для моей временной таблицы

IF OBJECT_ID('tempdb..#MyTempTable') IS NOT NULL
DROP TABLE #MyTempTable
SELECT * INTO #MyTempTable FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
'Excel 12.0;Database=E:\Book2.xlsx', 'SELECT * FROM [March$A2:ZZ]')

Для успеха: изображение здесь

Для ошибки: изображение здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...