if条件判断是否可以使用sql查询的列

新建查询比如

select * from 

(select type,id from tableA )A 

left join

(select col1,col2,col3,id from tableB )B on A.id =B.id

${if(A.type =='type1',""," and B.col2 = 'xxxx' ")}

以上可以在帆软里直接实现。


FineReport 廿旧 发布于 2020-11-5 10:24
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
1
zsh331Lv8专家互助
发布于2020-11-5 10:32(编辑于 2020-11-5 10:33)
select * from 

(select type,id from tableA )A 

left join

(select col1,col2,col3,id from tableB )B on A.id =B.id

where 

(A.type != 'type1' and B.col2 = 'xxxx') or A.type = 'type1'


这个语句和上面sql语义等效;

image.png

这个在if里面是【参数名】,不支持;

最佳回答
0
snrtuemcLv8专家互助
发布于2020-11-5 10:26(编辑于 2020-11-5 10:27)

可以的,支持以上语句

select * from 

(select type,id from tableA )A 

left join

(select col1,col2,col3,id from tableB )B on A.id =B.id

where 1=1

${if(A.type =='type1',""," and B.col2 = 'xxxx' ")}


最佳回答
0
krystal033Lv7高级互助
发布于2020-11-5 10:26

https://help.fanruan.com/finereport/doc-view-3499.html?source=1 条件属性实现动态列 是这个吗

  • 4关注人数
  • 367浏览人数
  • 最后回答于:2020-11-5 10:33
    请选择关闭问题的原因
    确定 取消
    返回顶部