首页 新闻 会员 周边

求助一条oracle的sql,各位大神请帮帮我

0
悬赏园豆:20 [已解决问题] 解决于 2017-08-23 18:14

有张表的某个字段,字段内容是1,2,3,4这种样式的,我的需求是取出这个字段的所有值,对每条数据进行改装,改装后变成1娃哈哈,2阿里巴巴,3腾讯,4今日头条这种样式的,也就是添加上1234分别对应的实际意义,这个sql该怎么写,还烦请各位大婶帮帮我。不能更新表,要用select的

column xxx

1,2

1,2,3,4

4,5,6,,7

变成

column yyy

1娃哈哈,2阿里巴巴

1娃哈哈,2阿里巴巴,3腾讯,4今日头条

4今日头条,5暴走漫画,6台积电,7微软

雨天的蜗牛sxc的主页 雨天的蜗牛sxc | 初学一级 | 园豆:123
提问于:2017-06-26 17:44
< >
分享
最佳答案
0

60 elsif r.n4=6
61 then dbms_output.put(r.n4||'台积电, ');
62 elsif r.n4=7
63 then dbms_output.put(r.n4||'微软, ');
64 end if;
65 dbms_output.put_line('');
66 end loop;
67 end;
68 /
1哇哈哈, 2阿里巴巴,
1哇哈哈, 2阿里巴巴, 3腾讯, 4今日头条,
4今日头条, 5暴走漫画, 6台积电, 7微软,

PL/SQL procedure successfully completed.

scott@TEST>select * from t2;

N1 N2 N3 N4
---------- ---------- ---------- ----------
1 2
1 2 3 4
4 5 6 7

scott@TEST>

收获园豆:20
6点32分 | 菜鸟二级 |园豆:204 | 2017-06-26 20:42

刚刚学oracle 写的不太好,代码很长 如果数据量大 那么效率就很低

6点32分 | 园豆:204 (菜鸟二级) | 2017-06-26 20:43

@6点32分: 这个sql不完整啊,你的思路是循环遍历每条数据进行判断赋值么?

雨天的蜗牛sxc | 园豆:123 (初学一级) | 2017-06-27 09:00

其实也不用这么麻烦 后来用decode函数就很容易实现了

6点32分 | 园豆:204 (菜鸟二级) | 2017-06-27 09:08
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册