У меня есть таблица базы данных, где каждая строка имеет:Стоимости/Количество Rollup В древовидной структуре - Python
name,
child1,
child1_quantity,
child2,
child2_quantity,
child3,
child3_quantity,
price
Эту таблица будет приводиться в питон в виде списка словарей или словаря словарей (Безразлично» неважно). Это будет выглядеть примерно так:
[{name: A, child1: C1, child1_quantity:2, child2:C2, child2_quantity: 1, child3: C3, child3_quantity:3, price: null},
{name: C1, child1: C1A, child1_quantity:5, child2: C1B, child2_quantity:2, child3: C1C, child3_quantity:6, price: 3},
{name: C2, child1: C2A, child1_quantity:5, child2: C2B, child2_quantity:2, child3: C2C, child3_quantity:10, price: 4},
{name: C3, child1: C3A, child1_quantity:3, child2: C3B, child2_quantity:7, child3: C3C, child3_quantity:15, price: null}]
Проблема Случай: Я хочу, чтобы иметь возможность ввести имя компонента и получить его цену. Если цена указана в таблице, легко, верните ее. Если цена не указана, мы должны рассчитать цену, добавив цены это дети
т.е.(child1 price x child1 qty) + (child2 price x child2 qty) + .....
Но каждый ребенок может/не может иметь цену. Поэтому нам нужно будет спуститься и найти общую стоимость ребенка от своего ребенка, а затем поднять его ... все, пока мы не получим общие цены на детей, а затем подытожим их, чтобы получить цену нашего представляющая интерес. Это рекурсивный тип проблемы, я думаю, но я не могу придумать, как концептуализировать или представлять данные, чтобы сделать мою цель возможной. Могу ли я получить подсказки/указатели? Рекурсивный запрос sql не является вариантом. Я пытаюсь сделать это в структуре данных или объекте python. Благодарю.
Если вы чувствуете, что это отвечает на вопрос, пожалуйста, также принимайте ответ. –