2014-03-26 23 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重用其他地方的元素。

唯一的选择是在第二个查询中使用内部联接。

相关问题