数据集内使用模板参数判断执行sql语句

${if("${ZT}"="不包含","with

ZDHC

as

(

select

TYBI5_T_YJS_ZY_XMJLTB.xmbh,TYBI5_T_YJS_ZY_XMJLTB.zxmc,TYBI5_T_YJS_ZY_XMJLTB.zYmc,TYBI5_T_YJS_ZY_XMJLTB.YSZE

from TYBI5_T_YJS_ZY_XMJLTB inner join (select xmbh,zxmc,zymc,max(jshc) as jshc from TYBI5_T_YJS_ZY_XMJLTB group by xmbh,zxmc,zymc) max

on TYBI5_T_YJS_ZY_XMJLTB.XMBH=max.xmbh

and TYBI5_T_YJS_ZY_XMJLTB.zxmc=max.zxmc

and TYBI5_T_YJS_ZY_XMJLTB.zymc=max.zymc

and TYBI5_T_YJS_ZY_XMJLTB.jshc=max.jshc

where 1=1

and TYBI5_T_YJS_ZY_XMJLTB.xmbh=${XMBH}

) ,

sjjg

as

(

select

TYBI5_W_YJSJG_ZY.xmbh,

TYBI5_W_YJSJG_ZY.zxmc,

TYBI5_W_YJSJG_ZY.zymc,

TYBI5_W_YJSJG_ZY.ZYYSZE

from TYBI5_W_YJSJG_ZY inner join ( select xmbh,max(jsbm) as jsbm from TYBI5_W_YJSJG_ZY group by xmbh) max

on TYBI5_W_YJSJG_ZY.XMBH=max.xmbh

and TYBI5_W_YJSJG_ZY.jsbm=max.jsbm

where 1=1

and TYBI5_W_YJSJG_ZY.xmbh=${XMBH}

--select * from sjjg

select  

case when a.xmbh is null then b.xmbh else a.xmbh end AS 项目编号,

case when a.zxmc is null then b.zxmc else a.zxmc end AS 子项名称,

case when a.zymc is null then b.zymc else a.zymc end AS 专业名称,

nvl(case when a.ysze is null then b.ZYYSZE else a.ysze end,0) AS 预算额

--nvl(a.DQJSE,0) AS 结算额

from sjjg b

left  join ZDHC a

on a.xmbh=b.xmbh

and a.zxmc=b.zxmc

and a.zYmc=b.zYmc

",

"

with

hc

as

(

select

xmbh,JSBM,max(JSHC) as jshc

from TYBI5_T_YJS_ZY_XMJLTB

where 1=1 

and TYBI5_T_YJS_ZY_XMJLTB.xmbh=${XMBH}

group by xmbh,JSBM

,

HUIZONG

AS( 

SELECT 

JSHC,

子项名称,

专业名称,

预算分配原值,

当前结算分配原值

FROM(

select 

TYBI5_T_YJS_ZY_XMJLTB.zxmc as 子项名称,

TYBI5_T_YJS_ZY_XMJLTB.zymc as 专业名称,

TYBI5_T_YJS_ZY_XMJLTB.JSHC,

TYBI5_T_YJS_ZY_XMJLTB.YSZE as 预算分配原值,

TYBI5_T_YJS_ZY_XMJLTB.DQJSE as 当前结算分配原值

 from TYBI5_T_YJS_ZY_XMJLTB

 inner join hc

 on TYBI5_T_YJS_ZY_XMJLTB.xmbh=hc.XMBH

 and TYBI5_T_YJS_ZY_XMJLTB.JSBM=hc.JSBM

 where 1=1 

 and TYBI5_T_YJS_ZY_XMJLTB.xmbh=${XMBH}

 AND TYBI5_T_YJS_ZY_XMJLTB.JSHC <= (select

max(JSHC) as jshc

from TYBI5_T_YJS_ZY_XMJLTB

where 1=1 

and TYBI5_T_YJS_ZY_XMJLTB.xmbh=${XMBH}

AND TYBI5_T_YJS_ZY_XMJLTB.SJZT='1'

))

select 

子项名称,

专业名称,

预算分配原值,

当前结算分配原值

from HUIZONG WHERE HUIZONG.JSHC=(SELECT MAX(HUIZONG.JSHC) FROM HUIZONG)")}

数据集内能不能这么做流程判断? 这么写 预览sql没用 不做判断

FineReport 幻想与现实 发布于 2023-10-17 09:43
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
Z4u3z1Lv6专家互助
发布于2023-10-17 09:47

${if(ZT="不包含","with

ZDHC

as

(

select

TYBI5_T_YJS_ZY_XMJLTB.xmbh,TYBI5_T_YJS_ZY_XMJLTB.zxmc,TYBI5_T_YJS_ZY_XMJLTB.zYmc,TYBI5_T_YJS_ZY_XMJLTB.YSZE

from TYBI5_T_YJS_ZY_XMJLTB inner join (select xmbh,zxmc,zymc,max(jshc) as jshc from TYBI5_T_YJS_ZY_XMJLTB group by xmbh,zxmc,zymc) max

on TYBI5_T_YJS_ZY_XMJLTB.XMBH=max.xmbh

and TYBI5_T_YJS_ZY_XMJLTB.zxmc=max.zxmc

and TYBI5_T_YJS_ZY_XMJLTB.zymc=max.zymc

and TYBI5_T_YJS_ZY_XMJLTB.jshc=max.jshc

where 1=1

and TYBI5_T_YJS_ZY_XMJLTB.xmbh='"+XMBH+"'

) ,

sjjg

as

(

select

TYBI5_W_YJSJG_ZY.xmbh,

TYBI5_W_YJSJG_ZY.zxmc,

TYBI5_W_YJSJG_ZY.zymc,

TYBI5_W_YJSJG_ZY.ZYYSZE

from TYBI5_W_YJSJG_ZY inner join ( select xmbh,max(jsbm) as jsbm from TYBI5_W_YJSJG_ZY group by xmbh) max

on TYBI5_W_YJSJG_ZY.XMBH=max.xmbh

and TYBI5_W_YJSJG_ZY.jsbm=max.jsbm

where 1=1

and TYBI5_W_YJSJG_ZY.xmbh='"+XMBH+"'

select  

case when a.xmbh is null then b.xmbh else a.xmbh end AS 项目编号,

case when a.zxmc is null then b.zxmc else a.zxmc end AS 子项名称,

case when a.zymc is null then b.zymc else a.zymc end AS 专业名称,

nvl(case when a.ysze is null then b.ZYYSZE else a.ysze end,0) AS 预算额

--nvl(a.DQJSE,0) AS 结算额

from sjjg b

left  join ZDHC a

on a.xmbh=b.xmbh

and a.zxmc=b.zxmc

and a.zYmc=b.zYmc

",

"

with

hc

as

(

select

xmbh,JSBM,max(JSHC) as jshc

from TYBI5_T_YJS_ZY_XMJLTB

where 1=1 

and TYBI5_T_YJS_ZY_XMJLTB.xmbh='"+XMBH+"'

group by xmbh,JSBM

,

HUIZONG

AS( 

SELECT 

JSHC,

子项名称,

专业名称,

预算分配原值,

当前结算分配原值

FROM(

select 

TYBI5_T_YJS_ZY_XMJLTB.zxmc as 子项名称,

TYBI5_T_YJS_ZY_XMJLTB.zymc as 专业名称,

TYBI5_T_YJS_ZY_XMJLTB.JSHC,

TYBI5_T_YJS_ZY_XMJLTB.YSZE as 预算分配原值,

TYBI5_T_YJS_ZY_XMJLTB.DQJSE as 当前结算分配原值

 from TYBI5_T_YJS_ZY_XMJLTB

 inner join hc

 on TYBI5_T_YJS_ZY_XMJLTB.xmbh=hc.XMBH

 and TYBI5_T_YJS_ZY_XMJLTB.JSBM=hc.JSBM

 where 1=1 

 and TYBI5_T_YJS_ZY_XMJLTB.xmbh='"+XMBH+"'

 AND TYBI5_T_YJS_ZY_XMJLTB.JSHC <= (select

max(JSHC) as jshc

from TYBI5_T_YJS_ZY_XMJLTB

where 1=1 

and TYBI5_T_YJS_ZY_XMJLTB.xmbh='"+XMBH+"'

AND TYBI5_T_YJS_ZY_XMJLTB.SJZT='1'

))

select 

子项名称,

专业名称,

预算分配原值,

当前结算分配原值

from HUIZONG WHERE HUIZONG.JSHC=(SELECT MAX(HUIZONG.JSHC) FROM HUIZONG)")}

image.png

最佳回答
0
CD20160914Lv8专家互助
发布于2023-10-17 09:44(编辑于 2023-10-17 09:44)

${if(ZT="不包含"

前面至少要这样写,后面的没有看

  • 2关注人数
  • 457浏览人数
  • 最后回答于:2023-10-17 09:47
    请选择关闭问题的原因
    确定 取消
    返回顶部