sql问题casewhen能否返回两个字段

select   case when '${指标}'='季度' then  jd,jd

end  from aaa

这样语法是错误的,意思就是根据参数取两列字段

yzm985349 发布于 2022-3-26 20:08
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共6回答
最佳回答
0
axingLv6专家互助
发布于2022-8-24 00:34

这样就可以了:

select ${if(指标="季度","jd,jd","")} from aaa

最佳回答
0
15922204585Lv6高级互助
发布于2022-3-26 20:15

不能吧,写两个case when

  • yzm985349 yzm985349(提问者) 第二个不会执行的,因为是相同条件,他只会执行第一个
    2022-03-26 20:19 
  • 15922204585 15922204585 回复 yzm985349(提问者) 也可以在帆软里展示所有字段,用条件属性-列宽控制呢
    2022-03-26 20:39 
最佳回答
0
CD20160914Lv8专家互助
发布于2022-3-26 20:21

select   case when '${指标}'='季度' then  jda||'_'||jdb

else '' end as colaa from aaa

oracle中就用上面的连接符号把他们连接起来。。。

最佳回答
0
@Lv6资深互助
发布于2022-3-26 20:21

一个对应一个 写两个就冲突了

最佳回答
0
用户z3757119Lv4见习互助
发布于2022-3-27 05:57
select case when ' S 指标)'=‘季度' then jd || jd end as "自定义" from aaa 用竖杠拼接两个字段(合二为一)是可以的,不能一次返回两个值,要么就是判断两次的那个得到两个值,你可以试试。
最佳回答
0
shinger@126.comLv2见习互助
发布于2022-4-19 11:42

select   case when '${指标}'='季度' then  jd else '' end as jd,

             case when '${指标}'='月度' then  yf else '' end as yf

end  from aaa           根据参数取不同字段,返回2个字段

select   case when '${指标}'='季度' then  jd else '' end as jd,

             case when '${指标}'='月度' then  jd else '' end as yf

end  from aaa           根据参数取相同字段的不同记录的值,返回2个字段

  • 6关注人数
  • 1072浏览人数
  • 最后回答于:2022-8-24 00:34
    请选择关闭问题的原因
    确定 取消
    返回顶部