Ver Mensaje Individual
  #5 (permalink)  
Antiguo 23/07/2013, 13:48
Avatar de Libras
Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Problemas Con Consulta Dinamica

Código SQL:
Ver original
  1. DECLARE @cont INT
  2. DECLARE @sqlquery VARCHAR(1000)
  3. DECLARE @sqlquery2 VARCHAR(500)
  4. DECLARE @sqlquery3 VARCHAR(2000)
  5. DECLARE @anho VARCHAR(4)
  6.  
  7. SET nocount ON
  8.  
  9.  
  10. SET @anho = (SELECT YEAR(getdate()))
  11. SET @cont = 1
  12. SET @sqlquery = ''
  13.  
  14. while @cont <= 12
  15. BEGIN
  16.  
  17. 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)+'],'
  18. --exec (@sqlquery2)
  19.  
  20. SET @sqlquery = @sqlquery + @sqlquery2
  21. --exec (@sqlquery)
  22.  
  23. SET @Cont = @Cont + 1
  24. END
  25.  
  26. --exec(@sqlquery)
  27.  
  28. 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'
  29.  
  30. EXECUTE sp_executesql(@sqlquery3)

con eso obtienes lo que necesitas, pregunta para que es la tabla "ti"?
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me