做填报报表,我建了两个数据集,分别是ds1和ds2,其中ds2的数据集是依赖ds1中有一个字段“工厂名”来填写的,也就填报时,需要先选择某一个工厂,然后在填写该工厂下的各种数据,提交,查询也是样,在筛选某一工厂后,这个工厂下面的数据就会被列表出来,我不知道如何建立这个关联关系,请高手指点!谢谢!!
您好,你的问题有两种解决方式,
第一种可以直接用一个查询
select * from ds1 left join ds2 on ds1.工厂ID = ds2.工厂ID where ds1.工厂ID = {'工厂ID'}
从你描述来看,ds2里面肯定是有跟ds1相关联的字段的,用left join 把这两个表关联起来,然后往表格里面拖字段.
然后在选择控件中绑定相应的数字字典 ds1.工厂id 就可以了.
第二种方式需要写两个sql
第一个sql select distinct 工厂id from ds1 用sql1作为控件的绑定数据.
第二个sql select * from ds2 where 工厂id = '${工厂id}'
将表2里的字段拖到表格中,表1的查询结果作为选择控件的内容.
看看这个例子。
https://help.finereport.com/doc-view-1868.html
解决了请采纳一下。