我尝试使用数据集。但是,如何将一个数据集查询输出作为另一个数据集的输入。
例如,资产数据表类型报告视图。
我的第一个查询是
SELECT column_name_one FROM table WHERE C_GL_PRIMARY='LIABILITY'
假设此查询返回2行,例如DEPOSIT,LOAN。 我的第二个问题是
SELECT colum_name_second FROM table WHERE C_GL_ONE='column_name_one'
(我是使用datagrid做的并且正在运行)
DEPOSIT
term deposit
pigmy deposit
LOANS
term loan
pigmy loan
直到这里一切都很好,但现在我还有一个查询需要输出第二个查询作为此查询的输入。
select column_name_third from table where C_GL_TWO='colum_name_second'
这里我无法将“colum_name_second”作为输入becoz it this fiels在列表下面而不是详细信息..
我的报告应该是这样的
DEPOSIT
term deposit
new term deposit
old term deposit
pigmy deposit
ww pigmy deposit
bbb deposit
LOANS
term loan
new tem loan
current term loan
pigmy loan
pigmyloannew
任何人都可以帮助我......有没有办法做到这一点。
感谢。
答案 0 :(得分:0)
1ST-在主报表查询中创建参数,并在HashMap中输入参数值以填充它。 2nd-在数据集中创建参数并使用数据集查询中的参数。$ p {Dataset_parameter} 3 - 如果您正在使用List组件,请右键单击然后转到Edit list data source然后单击parameter,然后添加数据集的参数并使用Main query output属性对其进行配置。
Ex-select ID,NAME from CALENDAR WHERE REGION=$P{REGION_ID}--REGION_ID main report parameter
SELECT HOLIDAY_NAME,DATE_PICKER FROM HOLIDAYS WHERE CAL_ID=$P{CAL_ID} --CAL_ID dataset
parameter.configure as per instruction above with $P{CAL_ID} with expression $F{ID}
答案 1 :(得分:0)
根据您的描述,这应该只是一个查询:
SELECT t1.column_name_one, t2.column_name_two, t3.column_name_three
FROM table1 t1
INNER JOIN table2 t2 on (t2.C_GL_ONE = t1.column_name_one)
INNER JOIN table3 t3 on (t3.C_GL_TWO = t2.column_name_two)
WHERE t1.C_GL_PRIMARY='LIABILITY'
然后将报告分组以显示与所需报告输出完全相同的数据。