2016-04-27 60 views
0

我想傳遞一個PARAM在BIRT報表,並在多個palces使用它,例如使用一個PARAM在多個地方:如何在BIRT報表

SELECT * FROM tab1 WHERE startDAte = trunc(?) 
UNION 
SELECT *FROM tab1 WHERE startDate= trunc(?-1) 

我該怎麼做?由於

回答

0

這已經在Reusing an anonymous parameter in a prepared statement

如果你的數據庫是Oracle回答,您還可以使用下面的語法:

WITH params AS 
(select ? as p_date, 
     ? as p_whatever, 
     ... 
    from dual 
) 
SELECT tab1.* FROM tab1, params WHERE tab1.startDate = trunc (params.p_date) 
UNION 
SELECT tab1.* FROM tab1, params WHERE startDate= trunc (parms.p_date - 1) 

注意這並有性能產生負面影響,因爲數據庫足夠聰明,可以檢測到參數內聯視圖只包含一行。