关于形成树形结构,数据累加显示的有关问题
关于形成树形结构,数据累加显示的问题

第一次发图不知道能看到吗。
ID TOPID Money ISlast ,name
通过 id topid 进行分级。topid = “0000000”表示最上一级 islast = 1表示最后一级
islast = 0表示不是最后一级
在数据库中只有islast = 1里的money有钱
最上级有好几个
我想实现的目标是。将上级的钱为其下集的钱的和。一级一级的相加。所有级数都有钱显示。
请大神们帮助下。。。我使用treetable已经将name形 成了树形表格,但是money列的钱不行。。。能通过数据库实现吗。我直接绑在标签上。
------解决思路----------------------
把这个b和你的treetable用id关联起来。
第一次发图不知道能看到吗。
ID TOPID Money ISlast ,name
通过 id topid 进行分级。topid = “0000000”表示最上一级 islast = 1表示最后一级
islast = 0表示不是最后一级
在数据库中只有islast = 1里的money有钱
最上级有好几个
我想实现的目标是。将上级的钱为其下集的钱的和。一级一级的相加。所有级数都有钱显示。
请大神们帮助下。。。我使用treetable已经将name形 成了树形表格,但是money列的钱不行。。。能通过数据库实现吗。我直接绑在标签上。
------解决思路----------------------
WITH
/* 测试数据
table1(id,topid,money,isLast)AS(
SELECT 1,0,0,0 UNION ALL
SELECT 2,1,0,0 UNION ALL
SELECT 3,1,100,1 UNION ALL
SELECT 4,2,20,1 UNION ALL
SELECT 5,2,30,1
), */
a AS (
-- 取最后一级的金额
SELECT id,topid,money
FROM table1
WHERE isLast = 1
UNION ALL -- 每个金额的每个上级都递归生成一条明细
SELECT p.id,p.topid,c.money
FROM table1 p
JOIN a c
on c.topid = p.id
)
,b AS (
SELECT id,
SUM(money) money
FROM a
GROUP BY id
)
SELECT *
FROM b
ORDER BY id
id money
----------- -----------
1 150
2 50
3 100
4 20
5 30
把这个b和你的treetable用id关联起来。