oracle数据库中如何将一列的内容转换成多行
比如,现在有一列,列名为"检查费用",内容分别是护理费,诊断费,药费等,如何将此列的内容转换成要输出的表格的几个列,并且求和?...
比如,现在有一列,列名为"检查费用",内容分别是护理费,诊断费,药费等 , 如何将此列的内容转换成要输出的表格的几个列,并且求和?
展开
展开全部
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
, 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
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1、需要确保各种费用之间是有分隔符的,比如逗号
2、因为要做求和,因此需要确保费用值是数值类型的
3、每行数据的费用种类的数量是否一致?
在确认了上面的问题后,可以编写一个自定义函数来实现
2、因为要做求和,因此需要确保费用值是数值类型的
3、每行数据的费用种类的数量是否一致?
在确认了上面的问题后,可以编写一个自定义函数来实现
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select 病人,
sum(decode(检查费用,'护理费', 护理金额,0) as 护理费 ,
sum(decode(检查费用,'诊断费', 诊断费金额,0) as 诊断费 ,
.............
from biao group by 病人
sum(decode(检查费用,'护理费', 护理金额,0) as 护理费 ,
sum(decode(检查费用,'诊断费', 诊断费金额,0) as 诊断费 ,
.............
from biao group by 病人
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
总得有个条件判断是什么费用才行哦。。你是从哪里判断出事护理费,诊断费的。。。补充问题说清楚,要不神仙也帮不了你啊。。我关注着。。
比如从别的列进行判断 是哪个部门 出示的检查费用。。
或者 检查费用 这个列 是VARCHAT2型的,"222.00(护理费用)"。。
比如从别的列进行判断 是哪个部门 出示的检查费用。。
或者 检查费用 这个列 是VARCHAT2型的,"222.00(护理费用)"。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询