Given the following tree structure in a SQL table, and assuming the data is consistent (there are no rows with the same name, but different parents):
| name | parent | value |
|------|--------|-------|
| a | null | 10 |
| b | a | 15 |
| b | a | 4 |
| c | a | 15 |
| d | a | 10 |
| e | b | 5 |
| f | b | 5 |
| g | null | 20 |
I am looking for a query to sum up all sub-categories of a given node, like this:
| name | parent | value |
|------|--------|-------|
| a | null | 64 |
| b | a | 29 |
| c | a | 15 |
| d | a | 10 |
| e | b | 5 |
| f | b | 5 |
| g | null | 20 |
So, I can make only the first level of summation, and I can think of joining this to table itself on parent and and sum again... but I am looking for a solution for trees of unspecified depth. For the level 1 I have for example:
SELECT
NAME,
PARENT,
SUM(VALUE) AS VALUE
FROM
TEST
GROUP BY
NAME,
PARENT
ORDER BY
NAME ASC;