关于把数据拆开,拆到不同的天去可以用各种语法,储存过程只要可以完成效果

ri    xxx 

1     加3

2

3

4

5请1.5

6

ri    

1    加1

2    加1

3    加1

4

5请1

6请0.5

就是我想把这个加3,拆分成三个加1放在下面的每一天中

没有办法吗。。

FineReport SQL 3333xzx 发布于 2022-11-23 15:13 (编辑于 2022-11-23 15:38)
1min目标场景问卷 立即参与
回答问题
悬赏:17 F币 5人赏过 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
JL98Lv6中级互助
发布于2022-11-23 15:58(编辑于 2022-11-23 15:59)

1、表数据

image.png

2、公式查询后

image.png

3、SQL语法

WITH A AS (

SELECT '1' AS ri, '加3' AS XXX from  dual

UNION ALL

SELECT '2' AS ri, '' AS XXX from  dual

UNION ALL

SELECT '3' AS ri, '' AS XXX from  dual

UNION ALL

SELECT '4' AS ri, '' AS XXX from  dual

)

--SELECT ri,REGEXP_SUBSTR(XXX,'[0-9]+') AS sz FROM A;

SELECT ri,XXX,REGEXP_SUBSTR(XXX,'[0-9]+') AS sz ,

CASE  WHEN ri <= (SELECT SUM(REGEXP_SUBSTR(XXX,'[0-9]+')) from A) THEN '加1'

ELSE NULL END XXX1

 FROM A;

  • CD20160914 CD20160914 感觉不是这么简单,楼主的问题还有请1.5的情况。他还要请1和请0.5的结果。
    2022-11-23 16:04 
  • JL98 JL98 回复 CD20160914 这个不拆吧,拆再加层case when 就可以了 其他位置写加也可以啊,取有加之后的数据使用序号就可以实现
    2022-11-23 16:11 
  • 3333xzx 3333xzx(提问者) 回复 JL98 如果不是123还可以实现嘛。。
    2022-11-23 16:23 
  • JL98 JL98 回复 3333xzx(提问者) 不是123也可以实现,但是这种只能实现一个月里面有一个加的,多个加的不行
    2022-11-23 17:46 
  • JL98 JL98 回复 3333xzx(提问者) 多个的还是要写存储过程循环遍历
    2022-11-23 17:47 
  • 2关注人数
  • 420浏览人数
  • 最后回答于:2022-11-23 15:59
    请选择关闭问题的原因
    确定 取消
    返回顶部