finereport没有中间表的概念吗

就比如想先对表做左关联查出两表所有字段,然后再对关联后的中间表字段做聚合计算。

但现在finereport做不到,我只能在做左关联的时候在LEFT JOIN里加聚合计算,这种情况需要GROUP BY分组字段,我想再加点字段,但是选多了GROUP BY分组字段左关联就会有很多重复行。。。

FineReport lyyyy 发布于 2023-12-24 22:14
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
snrtuemcLv8专家互助
发布于2023-12-25 06:54

FR不支持中间表,他是直接数据库取数

可以直接数据库视图,存储过程先处理,在FR调用

最佳回答
0
用户S5182147Lv6中级互助
发布于2023-12-25 08:47

你这个关联跟是否是finereport无关,跟表关联条件有关。finereport只是引用数据库的计算。如果你两张表都有一个唯一主键,且两张表的唯一主键有关联性,那么关联之后就不会重复。

最佳回答
0
changchenLv4见习互助
发布于2023-12-25 09:18(编辑于 2023-12-26 08:55)

两个表left join 后的结果可以作为一个新的数据集呀,然后在新的数据集上面再做聚合不行吗?

你创建一个新的数据集 Select * from A left join B on A.x = B.x (确保逐渐唯一 )  形成一个新的数据集ds

然后再在这个数据集的基础上去进行聚合

image.png

image.png

  • lyyyy lyyyy(提问者) 没太明白
    2023-12-25 22:15 
  • changchen changchen 回复 lyyyy(提问者) 你可以把中间表用的数据通过创建一个新的数据集的形式弄,比如上面截图那样,然后聚合字段的话在新的数据集字段的基础上面聚合
    2023-12-26 08:56 
  • lyyyy lyyyy(提问者) 回复 changchen 比如我做左关联创建数据集ds,然后再另外一个数据中查ds?这样?
    2023-12-26 22:23 
最佳回答
0
yzmZQSy29696569Lv4初级互助
发布于2023-12-25 09:50

这样的中间表吗企业微信截图_17034688759826.png

  • 4关注人数
  • 305浏览人数
  • 最后回答于:2023-12-26 08:55
    请选择关闭问题的原因
    确定 取消
    返回顶部