sql里面嵌套写if条件参数失效,该如何修改

SELECT

  DISTINCT STATUS

FROM

  DM.CT_TRAIN_PLAN p

left join (select FID,MAX(TO_CHAR(CREATETIME,'yyyy-mm')) as TSDATE FROM CT_PLAN_TSRECORD GROUP BY FID) d on d.FID = p.FID

where 1=1

${if(len(pv1) = 0,"",if(pv12=="培训时间","and p.FYEAR||'-'||p.FMONTH >='" + pv1 + "'","and d.TSDATE >='" + pv1 + "'")}

${if(len(pv1) = 0,"",if(pv12=="培训时间","and p.FYEAR||'-'||p.FMONTH <='" + pv8 + "'","and d.TSDATE <='" + pv8 + "'")}

FineReport 李9 发布于 2024-5-6 11:43
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
snrtuemcLv8专家互助
发布于2024-5-6 11:47

最后少了后面一个括号

=====

SELECT

  DISTINCT STATUS

FROM

  DM.CT_TRAIN_PLAN p

left join (select FID,MAX(TO_CHAR(CREATETIME,'yyyy-mm')) as TSDATE FROM CT_PLAN_TSRECORD GROUP BY FID) d on d.FID = p.FID

where 1=1

${if(len(pv1) = 0,"",if(pv12=="培训时间","and p.FYEAR||'-'||p.FMONTH >='" + pv1 + "'","and d.TSDATE >='" + pv1 + "'"))}

${if(len(pv1) = 0,"",if(pv12=="培训时间","and p.FYEAR||'-'||p.FMONTH <='" + pv8 + "'","and d.TSDATE <='" + pv8 + "'"))}

最佳回答
0
用户k6280494Lv6资深互助
发布于2024-5-6 11:45(编辑于 2024-5-6 11:48)

SELECT

  DISTINCT STATUS

FROM

  DM.CT_TRAIN_PLAN p

left join (select FID,MAX(TO_CHAR(CREATETIME,'yyyy-mm')) as TSDATE FROM CT_PLAN_TSRECORD GROUP BY FID) d on d.FID = p.FID

where 1=1

${if(len(pv1) = 0,"",if(pv12=="培训时间","and p.FYEAR||'-'||p.FMONTH >='" + pv1 + "' and p.FYEAR||'-'||p.FMONTH <='" + pv8 + "'","and d.TSDATE >='" + pv1 + "' and d.TSDATE <='" + pv8 + "'"))}

最佳回答
0
华莉星宸Lv6高级互助
发布于2024-5-6 11:46(编辑于 2024-5-6 11:48)

第二个不对吧

image.png

SELECT

  DISTINCT STATUS

FROM

  DM.CT_TRAIN_PLAN p

left join (select FID,MAX(TO_CHAR(CREATETIME,'yyyy-mm')) as TSDATE FROM CT_PLAN_TSRECORD GROUP BY FID) d on d.FID = p.FID

where 1=1

${if(len(pv1) = 0,"",if(pv12=="培训时间","and p.FYEAR||'-'||p.FMONTH >='" + pv1 + "'","and d.TSDATE >='" + pv1 + "'"))}

${if(len(pv8) = 0,"",if(pv12=="培训时间","and p.FYEAR||'-'||p.FMONTH <='" + pv8 + "'","and d.TSDATE <='" + pv8 + "'"))}

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