hola, tengo un pequeño problema con una consulta dinamica que acabo de implementar, les comparto el codigo:
Código SQL:
Ver originalDECLARE @cont INT
DECLARE @sqlquery VARCHAR(1000)
DECLARE @sqlquery2 VARCHAR(500)
DECLARE @sqlquery3 VARCHAR(2000)
DECLARE @anho VARCHAR(4)
SET nocount ON
DROP TABLE ti
SET @anho = (SELECT YEAR(getdate()))
SET @cont = 1
SET @sqlquery = ''
while @cont <= 12
BEGIN
SET @sqlquery2 = '(a.['+@anho + RIGHT('00'+CAST(@cont AS VARCHAR),2)+']+b.['+@anho + RIGHT('00'+CAST(@cont AS VARCHAR),2)+']+c.['+@anho + RIGHT('00'+CAST(@cont AS VARCHAR),2)+']+d.['+@anho + RIGHT('00'+CAST(@cont AS VARCHAR),2)+']) as ['+@anho + RIGHT('00'+CAST(@cont AS VARCHAR),2)+'],'
EXEC (@sqlquery2)
SET @sqlquery = @sqlquery + @sqlquery2
EXEC (@sqlquery)
SET @Cont = @Cont + 1
END
EXEC(@sqlquery)
SET @sqlquery3 = 'select a.gestion,'+@sqlquery+' '+quotename('GES08','''')+' as COD_GES into ti from Llamadas_Mensual_Oro_Final a inner join Llamadas_Mensual_plata_Final b on a.gestion = b.gestion inner join Llamadas_Mensual_Reten_Final c on b.gestion = c.gestion inner join Llamadas_Mensual_cable_Final d on c.gestion = d.gestion'
EXEC(@sqlquery3)
SET nocount off
SELECT * FROM ti
lo que sucede es que la consulta se ejecuta sin problemas(incluyendo dentro de un SP) pero al momento de ejecutarse, muestra mensajes de alerta(errores) indicando lo siguiente:
Msg 102, Level 15, State 1, Line 1
Incorrect syntax near 'a'. las veces que especifique en el contador.
la consulta seria como ocultar estos mensajes de alerta, ya que el query