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 originalALTER PROCEDURE [dbo].[sp_forecast_por_departamento_por_cuenta]
@mes AS nvarchar(15),
@cuenta INT,
@anio INT,
@folio INT
AS
BEGIN
DECLARE @columna AS VARCHAR(200)
DECLARE @query Nvarchar(MAX)
SET @columna=@mes
SET @query='
SELECT cuenta, anio, departamento, ' + @columna + '
FROM [tbl_forecast ]
WHERE (cuenta= ' + @cuenta + ') AND (anio = ' + @anio + ') AND (departamento IN
(SELECT departamento
FROM tbl_partidas
WHERE (folio = ' + @folio + ')
GROUP BY departamento))
'
EXEC sp_executesql @query
END
Pero me marca este error al probarlo:
Código SQL:
Ver originalMsg 245, Level 16, State 1, PROCEDURE sp_forecast_por_departamento_por_cuenta, Line 15
Conversion failed WHEN converting the VARCHAR VALUE '
SELECT cuenta, anio, departamento, enero
FROM [tbl_forecast ]
WHERE (cuenta=' TO DATA TYPE INT.
Yo creo que es por los espacios entre las comillas simples ó no?
Saludos, muchas gracias