如何实现简单的列转化
时间:2011-11-03
来源:互联网
医院名称 科别 其他小科表 医技小科别
安徽医科大学 儿科 理疗科、血透中心肿瘤放射科 神经电生理室、超声波室
安徽医科大学 心内科 理疗科、血透中心肿瘤放射科 神经电生理室、超声波室
安徽医科大学 神经内科 理疗科、血透中心肿瘤放射科 神经电生理室、超声波室
安徽医科大学 肾内科 理疗科、血透中心肿瘤放射科 神经电生理室、超声波室
安徽医科大学 呼吸内科 理疗科、血透中心肿瘤放射科 神经电生理室、超声波室
我要变成:
安徽医科大学 儿科 心内科 神经内科 肾内科 呼吸内科 理疗科、血透中心肿瘤放射科 神经电生理室、超声波室
请问如何实现呢?
注意要消除重复的数据哦!
作者: zhoulirong14 发布时间: 2011-11-03
SQL code
WITH T1 AS( SELECT '安徽医科大学' a,'儿科 理疗科、血透中心肿瘤放射科 神经电生理室、超声波室' b FROM dual UNION ALL SELECT '安徽医科大学' a,'心内科 理疗科、血透中心肿瘤放射科 神经电生理室、超声波室' b FROM dual UNION ALL SELECT '安徽医科大学' a,'神经内科 理疗科、血透中心肿瘤放射科 神经电生理室、超声波室' b FROM dual UNION ALL SELECT '安徽医科大学' a,'肾内科 理疗科、血透中心肿瘤放射科 神经电生理室、超声波室' b FROM dual UNION ALL SELECT '安徽医科大学' a,'呼吸内科 理疗科、血透中心肿瘤放射科 神经电生理室、超声波室' b FROM dual) SELECT A, REPLACE(WM_CONCAT(DISTINCT REGEXP_SUBSTR(B, '[^ ]+', 1, L)), ',', ' ') B FROM T1, (SELECT LEVEL L FROM DUAL CONNECT BY LEVEL <= 100) T2 WHERE LENGTH(B) - LENGTH(REPLACE(B, ' ', '')) + 1 >= T2.L GROUP BY A;
作者: BenChiM888 发布时间: 2011-11-03
顶一下大奔!!太帅了!
引用 1 楼 benchim888 的回复:
SQL code
WITH T1 AS(
SELECT '安徽医科大学' a,'儿科 理疗科、血透中心肿瘤放射科 神经电生理室、超声波室' b FROM dual UNION ALL
SELECT '安徽医科大学' a,'心内科 理疗科、血透中心肿瘤放射科 神经电生理室、超声波室' b FROM dual UNION ALL
SELECT '安徽医科大学' a,'神经内科 理疗科、……
SQL code
WITH T1 AS(
SELECT '安徽医科大学' a,'儿科 理疗科、血透中心肿瘤放射科 神经电生理室、超声波室' b FROM dual UNION ALL
SELECT '安徽医科大学' a,'心内科 理疗科、血透中心肿瘤放射科 神经电生理室、超声波室' b FROM dual UNION ALL
SELECT '安徽医科大学' a,'神经内科 理疗科、……
作者: yixilan 发布时间: 2011-11-03
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28