Сумма всех дочерних и родительских данных в иерархических данных
привет У меня есть 2 таблицы на продажу с поля:
saleDetail (id, commodityID, count, price, ...)
товар (id, parentID, имя)
таблица товаров является иерархической или рекурсивной.
Вот мои тестовые данные
товар
идентификатор атрибутом parentId---- имя
1-- ноль-- продукты
2-- 1-- фрукты
3-- 2-- яблоко
4-- 2-- оранжевый
5-- 2-- дыня
6-- 1-- продукт моря
7-- 6-- лосось
8-- 6-- креветки
saleDetail
commodityID-- граф-- цена
3-- 1-- 100
4-- 1-- 150
5-- 1-- 200
7-- 1-- 110
8-- 1-- 180
4-- 1-- 160
Мне нужен отчет, как показано ниже:
имя-- всего
продукты питания-900 (сумма всех рекордов)
фрукты - 610 (сумма 3, 4, 5)
яблоко - 100 (сумма 3)
оранжевый - 310 (сумма 4)
дыня - 200 (сумма 5)
морепродукты - 290 (сумма 7, 8)
лосось - 110 (сумма 7)
креветки - 180 (сумма 8)
Что я уже пробовал:
это мой sql запрос но не правильный ответ:
С деревом как
(
--инициализация
Выберите id, parentid, имя
От товара
Где parentID равен нулю
СОЮЗ ВСЕХ
--рекурсивное выполнение
Выберите e.id, e.parentid, e.name
С товаром электронное внутреннее соединение дерево м
На эл.атрибутом parentId = м.идентификатор
)
--Выберите * из дерева
выберите имя, сумму(count*price) в качестве итога из правого внешнего соединения дерева
saleDetail на дерево.ИД = saleDetail.commodityID
группа по названию
результат; что общее количество родителей не подсчитано
имя-- всего
яблоко - 100
дыня - 200
оранжевый - 310
лосось - 110
креветки - 180