Ver Mensaje Individual
  #7 (permalink)  
Antiguo 06/06/2013, 11:37
estlui
 
Fecha de Ingreso: noviembre-2003
Mensajes: 209
Antigüedad: 20 años, 5 meses
Puntos: 0
Respuesta: columnas de consulta o SP variable

Muchas gracias a los 2 por su ayuda.

Usando el ejemplo de Libras (que por lo visto es todo un master en SQL), hice la consulta de esta manera:

Código SQL:
Ver original
  1. ALTER PROCEDURE [dbo].[sp_forecast_por_departamento_por_cuenta]
  2. @mes AS nvarchar(15),
  3. @cuenta INT,
  4. @anio INT,
  5. @folio INT
  6.    
  7. AS
  8. BEGIN
  9.  
  10. DECLARE @columna AS VARCHAR(200)
  11. DECLARE @query Nvarchar(MAX)
  12. SET @columna=@mes
  13.  
  14. SET @query='
  15.  
  16.     SELECT     cuenta, anio, departamento, ' + @columna + '
  17. FROM         [tbl_forecast ]
  18. WHERE     (cuenta= ' + @cuenta + ') AND (anio = ' + @anio + ') AND (departamento IN
  19.                          (SELECT     departamento
  20.                            FROM          tbl_partidas
  21.                            WHERE      (folio = ' + @folio + ')
  22.                            GROUP BY departamento))
  23.                            '
  24.     EXEC sp_executesql @query
  25.    
  26. END

Pero me marca este error al probarlo:

Código SQL:
Ver original
  1. Msg 245, Level 16, State 1, PROCEDURE sp_forecast_por_departamento_por_cuenta, Line 15
  2. Conversion failed WHEN converting the VARCHAR VALUE '
  3.  
  4.     SELECT     cuenta, anio, departamento, enero
  5. FROM         [tbl_forecast ]
  6. WHERE     (cuenta=' TO DATA TYPE INT.

Yo creo que es por los espacios entre las comillas simples ó no?

Saludos, muchas gracias