这可能不是Birt问题,可以用SQL本身解决。请在下面找到我的问题。
我有一个复杂的查询,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=?)
是否有办法优化此查询或将内部查询的值作为参数传递给主数据集。
答案 0 :(得分:1)
一般方法是运行第一个查询并在全局JavaScript对象中收集结果。
然后,您可以使用JavaScript在其他地方重用这些元素。
唯一的选择是在第二个查询中使用内连接。