oracle数据库中如何将一列的内容转换成多行
发布网友
发布时间:2022-04-28 23:52
我来回答
共5个回答
热心网友
时间:2022-04-09 08:46
需要用wm_concat函数。
如test表中有如下数据:
现在要name列的内容都显示到同一行,可用如下语句:
select wm_concat(name) from test;
查询结果:
热心网友
时间:2022-04-09 10:04
select max(case when 检查费用 = 护理费 then 检查费用 else null end)
, max(case when 检查费用 = 护理费 then 检查费用else null end)
, max(case when 检查费用 = 护理费 then 检查费用 else null end)
,sum(max(case when 检查费用 = 护理费 then 检查费用 else null end) + max(case when 检查费用 = 护理费 then 检查费用else null end)
+ max(case when 检查费用 = 护理费 then 检查费用 else null end))
from table
热心网友
时间:2022-04-09 11:38
select 病人,
sum(decode(检查费用,'护理费', 护理金额,0) as 护理费 ,
sum(decode(检查费用,'诊断费', 诊断费金额,0) as 诊断费 ,
.............
from biao group by 病人
热心网友
时间:2022-04-09 13:30
总得有个条件判断是什么费用才行哦。。你是从哪里判断出事护理费,诊断费的。。。补充问题说清楚,要不神仙也帮不了你啊。。我关注着。。
比如从别的列进行判断 是哪个部门 出示的检查费用。。
或者 检查费用 这个列 是VARCHAT2型的,"222.00(护理费用)"。。
热心网友
时间:2022-04-09 15:38
1、需要确保各种费用之间是有分隔符的,比如逗号
2、因为要做求和,因此需要确保费用值是数值类型的
3、每行数据的费用种类的数量是否一致?
在确认了上面的问题后,可以编写一个自定义函数来实现