Псевдоним столбца не работает при выполнении запроса ?
я работаю на SQL server 2012
моя проблема заключается в том, что псевдоним столбца в динамическом SQL-запросе не работает
так как же решить проблему
вопрос по этой линии
предположим, что имя столбца-жизненный цикл
это означает, что @columndate будет lifecycleDate
на принтере покажите что
но после этого при использовании @columndate на запрос .
псевдоним не работает и все еще печатает имя столбца
CONVERT(VARCHAR,' + @columnname + 'Date ,111)AS ' + @columnnameDate + '
я ожидаю, что буду таким же жизненным циклом.
но он все равно отображается как жизненный цикл
Как решить эту проблему
смотрите здесь Образец
PartNumber CompanyName DocumentID FlowStatus TeamName OnlineUrl OfflineUrl LifecycleDate PartNumber CompanyName DocumentID FlowStatus TeamName OnlineUrl OfflineUrl Lifecycle BCM5338MIQMG Broadcom Inc. 29858 Done LifeCycle N/A https://source.z2data.com/2017/9/24/8/11/36/125/70073643/broadcom_eol002010_03232016_eol.pdf 3/25/2020
жизненный цикл на второй линии мне это нужно lifecycleDate
но это отображение жизненного цикла
Что я уже пробовал:
DECLARE @columnname NVARCHAR(100) DECLARE @columnnameDate NVARCHAR(100) SET @columnname = (SELECT TOP 1 ColumnName FROM pcn.Teams t inner join #TempPC temp on t.TeamID= temp.TeamId) SET @columnnameDate =@columnname + 'Date' PRINT @columnname PRINT @columnnameDate DECLARE @header nvarchar(max) SET @header='SELECT ''PartNumber'' as PartNumber,''CompanyName'' as CompanyName,''DocumentID'' AS DocumentID,''FlowStatus'' AS FlowStatus,''TeamName'' as TeamName,''OnlineUrl'' as OnlineUrl,''OfflineUrl'' as OfflineUrl,''' + replace(@columnname,',',''',''') + ''' AS ' +@columnname + 'Date ' DECLARE @query nvarchar(max) SET @query=' SELECT P.PartNumber,c.CompanyName,CAST(dpt.documentID AS NVARCHAR(20)) AS DocumentID,fs.FlowStatus,temp.TeamName,temp.OnlineUrl,temp.OfflineUrl ,CONVERT(VARCHAR,' + @columnname + 'Date ,111)AS ' + @columnnameDate + ' FROM pcn.DocumentPartTeams dpt with(nolock) inner join #TempPC temp on dpt.documentID = temp.documentID inner join parts.Nop_Part p with(nolock) on p.PartID=dpt.PartID inner join Z2DataCompanyManagement.CompanyManagers.Company c with(nolock) on c.CompanyID=p.CompanyID INNER JOIN pcn.documentteams dt with(nolock) on dpt.DocumentID=dt.DocumentID AND dt.teamid=temp.TeamId inner join [Parts].[FlowStatus] FS with(nolock) on dpt.' + @columnname + '=fs.FlowStatusID ' EXEC (@header + 'UNION ALL' + @query)
CHill60
Можете ли вы быть более конкретным (например, использовать отработанный пример) - когда я запускаю ваш код, у меня не возникает проблем