2014-03-26 43 views
0

這可能不是一個Birt問題,可以用SQL本身來解決。請在下面找到我的查詢。在Birt中,我可以將一個數據集的結果作爲輸入傳遞給另一個數據集:

我有一個複雜的查詢,6個小型查詢連接工會和相交。所有的小查詢都有一個共同的內部查詢。現在將它作爲查詢的一部分編寫,將運行這個內部查詢6次,這是我想避免的。我想將這個內部查詢的值直接傳遞給Main查詢。

主查詢模板如下。

Select A_ID id from A where A.TYPE in (select Type from My_Type_List where Type_id=?) 
UNION 
Select B_ID id from B where B.TYPE in (select Type from MY_TYPE_LIST where Type_id=?) 
UNION 
Select C_ID id from C where C.TYPE in (select Type from MY_TYPE_LIST where Type_id=?) 

有沒有一種方法來優化此查詢或將內部查詢的值作爲參數傳遞給主數據集。

回答

1

一般的方法是運行第一個查詢並在全局JavaScript對象中收集結果。

然後,您可以使用JavaScript重用其他地方的元素。

唯一的選擇是在第二個查詢中使用內部聯接。

相關問題