Столбец «30» был указан несколько раз для «stat» - PullRequest
0 голосов
/ 17 мая 2019

Я сталкиваюсь с этой ошибкой при выполнении запроса. Столбец '30' был указан несколько раз для 'stat'.

FROM Probale
--WHERE     (EntryDate BETWEEN @StartDate AND @Enddate)
ORDER BY EntryDate

DECLARE @cols NVARCHAR(4000)
SELECT  @cols = COALESCE(@cols + ',[' + CONVERT(varchar, DATEPART(DAY, EntryDate), 112)
                + ']','[' + CONVERT(varchar,DATEPART(DAY, EntryDate), 112) + ']')
FROM    #Dates24
ORDER BY EntryDate


DECLARE  @qry NVARCHAR(4000) =
N'SELECT * 
FROM (SELECT ItemMasterFile.Descriptionitem,Probale.prdqty, 
DATEPART(DAY, Probale.EntryDate)as DDate
FROM Probale  Inner Join ItemMasterFile on Probale.Codeitem=ItemMasterFile.Codeitem )prd
PIVOT (Sum(prdqty) FOR DDate IN (' + @cols + ')) AS stat 
'
-- Executing the query

EXEC(@qry)```

1 Ответ

2 голосов
/ 17 мая 2019

Ваши имена столбцов должны быть уникальными.Вы можете попробовать это для имен столбцов.

SELECT  @cols = @cols + ',' + QUOTENAME( CONVERT(varchar(2),EntryDate) )
FROM  (SELECT DISTINCT  DATEPART(DAY, EntryDate) AS EntryDate FROM #Dates24 ) T
ORDER BY EntryDate

SET @cols =  STUFF(@cols, 1, 1, '') 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...