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

我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
墨值悬赏
25M假设有个表叫Table_A,现有两列C和len, len是c列的长度,现需增加一列(黄色部分),规则是遇到len = 7增加的列就为C这行的值, 怎么写?谢谢

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
墨值悬赏