Я хотел бы попросить о помощи. Я использую MySQL 5.7, и у меня есть таблица спецификаций под названием BOM.
У меня есть много столбцов, которые я добавлю позже к запросу, но для этого questionID важны Name, ParentID и Quantity. Я хотел бы добавить вычисляемый столбец totalQty в мою таблицу, который будет умножать дочерние количества с родительскими количествами до верхнего уровня. Вот пример того, чего я хочу достичь:
+-------+------+------+----------+----------+--+
| ID | Name | Qty | ParentID | TotalQty | |
+-------+------+------+----------+----------+--+
| 1 | A | 1 | 0 | 1 | |
| 1.1 | AA | 2 | 1 | 2 | |
| 1.1.1 | AAA | 1 | 1.1 | 2 | |
| 1.2 | AB | 5 | 1 | 5 | |
| 1.2.1 | ABA | 2 | 1.2 | 10 | |
| 2 | B | 3 | 0 | 3 | |
| 2.1 | BA | 2 | 2 | 6 | |
+-------+------+------+----------+----------+--+
Мне нужно это, чтобы создать список материалов, используемых для проекта, поэтому я умножу totalQTY на единицу массы и длину единицы, чтобы получить общую массу и общее количество. длина части. Затем я сгруппирую и объединю их по типу материала.
Я обыскал форумы и обнаружил, что для этого мне нужно использовать общие табличные выражения (CTE). Но я не нашел объяснения на простом английском языке, как это сделать для моего случая.
Большое спасибо за любую помощь или подсказку, как понять концепцию.