oracle数据库中如何将一列的内容转换成多行

比如,现在有一列,列名为"检查费用",内容分别是护理费,诊断费,药费等,如何将此列的内容转换成要输出的表格的几个列,并且求和?... 比如,现在有一列,列名为"检查费用",内容分别是护理费,诊断费,药费等 , 如何将此列的内容转换成要输出的表格的几个列,并且求和? 展开
 我来答
badkano
推荐于2016-10-24 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144776 获赞数:885368
团长

向TA提问 私信TA
展开全部

需要用wm_concat函数。

如test表中有如下数据:

现在要name列的内容都显示到同一行,可用如下语句:

select wm_concat(name) from test;

查询结果:

nj_xiaohang
推荐于2018-02-28 · TA获得超过479个赞
知道小有建树答主
回答量:257
采纳率:0%
帮助的人:147万
展开全部
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
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
youmi08
2010-03-10 · TA获得超过932个赞
知道答主
回答量:94
采纳率:0%
帮助的人:95.6万
展开全部
1、需要确保各种费用之间是有分隔符的,比如逗号
2、因为要做求和,因此需要确保费用值是数值类型的
3、每行数据的费用种类的数量是否一致?

在确认了上面的问题后,可以编写一个自定义函数来实现
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
曾煜黎cf787
推荐于2016-01-30 · TA获得超过528个赞
知道小有建树答主
回答量:560
采纳率:100%
帮助的人:0
展开全部
select 病人,
sum(decode(检查费用,'护理费', 护理金额,0) as 护理费 ,
sum(decode(检查费用,'诊断费', 诊断费金额,0) as 诊断费 ,
.............
from biao group by 病人
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cxuans04
2010-03-10 · TA获得超过239个赞
知道小有建树答主
回答量:323
采纳率:0%
帮助的人:291万
展开全部
总得有个条件判断是什么费用才行哦。。你是从哪里判断出事护理费,诊断费的。。。补充问题说清楚,要不神仙也帮不了你啊。。我关注着。。

比如从别的列进行判断 是哪个部门 出示的检查费用。。

或者 检查费用 这个列 是VARCHAT2型的,"222.00(护理费用)"。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式