暂无图片
请教一个SQL
我来答
分享
刘晓华
2025-05-16
请教一个SQL
暂无图片 25M

假设有个表叫Table_A,现有两列C和len, len是c列的长度,现需增加一列(黄色部分),规则是遇到len = 7增加的列就为C这行的值, 怎么写?谢谢


我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
广州_老虎刘

with gen_data as(
select 'M068406' as c,7 as len from dual union all select '2' as c,1 as len from dual union all
select 'M068407' as c,7 as len from dual union all select '44' as c,2 as len from dual union all
select '5' as c,1 as len from dual union all select '66' as c,2 as len from dual
)
,cte_add_2col as
(select rownum as id ,a.*,decode(len,7,c,null) as tmp_col from gen_data a)
select id, c,len
,last_value(tmp_col) ignore nulls over(order by id) as add_col
from cte_add_2col a
order by id;


暂无图片 评论
暂无图片 有用 2
暂无图片
广州_老虎刘
答主
2025-05-17
解法还有很多, 可以参考这个链接: https://www.modb.pro/db/1826549073320697856
刘晓华
题主
2025-05-19
刘大师威武,受教了!感谢
刘晓华

刘大师的8种写法,简直是出神入化

暂无图片 评论
暂无图片 有用 1
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏