问题描述
- sql表中如何实现几个记录的值合并处理为另一条记录的值,有嵌套!
-
下列记录中,编码3、4的记录合并为编码2,编码2和编码5的记录合并为编码1的记录,如果做到实时合并?语句很简单,但逐级合并可能会产生结果不一致现象,大家怎么解决的?
编码 字段1 字段2 字段3 父编码
1 20 30 50 Null
2 10 12 20 1
3 7 10 6 24 3 2 14 2
5 10 18 30 1
解决方案
如果只是这两个条件的记录要合并,那就sum+group by两次就好了
解决方案二:
你这个需求什么样的,说清楚点,从你的题目里面看的话,你这需求没有什么意义的。而且最终结果就是将3、4、5的相加就可以了。
解决方案三:
select
sum(字段1),
sum(字段2),
sum(字段3),
父编码
from
表名 tab
group by
tab.父编码
这个应该就是你要的结果了吧
解决方案四:
其实。我觉得,不应该逐级获取。
按照你说,
1 是根节点。2,5又是1的子节点!
这么说来,不就是直接算出2和5的和就可以了吗?
时间: 2024-11-16 10:41:50