2011-11-04 81 views
1

如果屬性boleta.c_Fk_CodPeriodo等於SP dbo.paBltPeriodoBuscarUnico3 @fecha的返回值,那麼我需要比較該值。該SP返回的值,如「1011」,「0711」等。將列值與存儲過程的結果進行比較

SELECT 
    localizacion.c_Fk_IdBoleta 
FROM 
    Blt_Boleta as boleta, Fnc_Localizacion as localizacion 
WHERE 
    boleta.c_Pk_IdBoleta = localizacion.c_Fk_IdBoleta 
    AND localizacion.si_CodAsa = @id_Asa 
    AND boleta.c_Fk_CodPeriodo = exec dbo.paBltPeriodoBuscarUnico3 @fecha 

在主管說的問題,在EXEC語法錯誤...所以

我怎樣才能做到這一點?

+0

你是什麼意思存儲過程返回值是'0711'?返回值只能是一個整數,而不能是一個字符串。你的意思是它返回一個帶有字符串的標量結果集? –

+0

是由結果集或通過'RETURN'語句從存儲過程返回的值嗎? –

回答

1
DECLARE @output AS varchar(4); 
exec @output = dbo.paBltPeriodoBuscarUnico3 @fecha; 

SELECT 
         localizacion.c_Fk_IdBoleta 
        FROM 
         Blt_Boleta as boleta, Fnc_Localizacion as localizacion 
        WHERE 
         boleta.c_Pk_IdBoleta = localizacion.c_Fk_IdBoleta 
         AND localizacion.si_CodAsa = @id_Asa 
         AND boleta.c_Fk_CodPeriodo = @output 
1

您需要先調用存儲過程並將結果賦值給變量,然後在查詢中使用該變量。

您不能使用那樣的存儲過程。

相關問題