在数据集里面if()elseif()的用法

数据集里面满足参数=1执行第一条sql 满足参数=2执行第二条sql。满足参数=3执行第三条sql。写法例如:if(isv=='${isv}') begin select * from demo end else if  begin select * from test end  else begin select * from demotest end   有用过这样的写法的吗?我这边一直没研究出来。请大神赐教

这样的用法if(xxx=1){begin select *from demo1 end } else if{begin select * from demo2 end}  else {begin select *from demo3 end }

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

${SWITCH( A,"1","SELECT * FROM 产品",

"2","SELECT * FROM 产品类别",

A,"SELECT * FROM 人员培训表")

}

image.png

  • 13527520416 13527520416(提问者) 嗯 好的 谢谢我这边需求是实现了。在这,之前我用过if else这种用法,但是现在写出来报错。不对了,,也不知道是哪里搞错了。就发出来探讨一下。
    2021-09-30 11:17 
  • Z4u3z1 Z4u3z1 回复 13527520416(提问者) 数据集里面用IF只能嵌套吧,不能用if() else if() else ()形式哦
    2021-09-30 11:21 
  • 13527520416 13527520416(提问者) 回复 Z4u3z1 declare @filltype2 int set @filltype2=0 select @filltype2=count(*) from cq_lczjqkb k if @filltype2>0 select * from demo1 else select * from demo2 这个sql在sqlserver里面是可以执行的
    2021-09-30 11:27 
  • Z4u3z1 Z4u3z1 回复 13527520416(提问者) 帆软不是SQL SERVER......
    2021-09-30 11:29 
  • 13527520416 13527520416(提问者) 回复 Z4u3z1 。。。帆软连sql server数据库。
    2021-09-30 11:32 
最佳回答
0
luojian0323Lv7资深互助
发布于2021-9-30 11:02

查询数据集不支持写存储

  • 13527520416 13527520416(提问者) 之前用过这种类似的,但是一直现在在写一直报错,也没搞明白是哪里错了=。。。
    2021-09-30 11:13 
最佳回答
0
霜凡Lv5中级互助
发布于2021-9-30 11:03

帆软的if不是这么用的,如果有第三个条件 ,那就在if里面嵌套if

image.png

然后就是数据集里带参数的if用法

image.png

  • 13527520416 13527520416(提问者) 嗯 感谢。现在使用的这种,之前用过我上面说的那种方法,用if else这种。但是后面不知道怎么用了。所以发出来探讨一下
    2021-09-30 11:15 
最佳回答
0
用户a4836251Lv5初级互助
发布于2021-9-30 11:05

if(1=1,2,3)

举例 可以这样 如果1=1 就输出2 不是就输出3 ,if可以嵌套if这样来写

  • 13527520416 13527520416(提问者) 嗯嗯 。谢谢。一直这样用的,但是每一句sql都很长的话参数比较多,在写参数得时候双引号单引号之类的感觉不是很好处理。之前用过if else这种方法,但是当时没有及时积累这个方法,后面就忘记具体怎么写了。所以就发出来大家探讨一下
    2021-09-30 11:16 
  • 4关注人数
  • 586浏览人数
  • 最后回答于:2021-9-30 11:08
    请选择关闭问题的原因
    确定 取消
    返回顶部