У меня есть структура таблицы, как показано ниже. У каждого инструмента есть семья. Каждый инструмент может быть связан с несколькими семействами. Каждая семья может иметь несколько инструментов.sql сумма запроса по категории
| Tool | Family | TPT |
--------------------------------------
| ToolA | FamilyA | TPT1 |
| ToolA | FamilyB | TPT2 |
| ToolA | FamilyC | TPT3 |
| ToolB | FamilyA | TPT4 |
| ToolB | FamilyB | TPT5 |
| ToolC | FamilyB | TPT6 |
| ToolD | FamilyD | TPT7 |
Я хочу суммировать столбец ТРТ, как видно в результатах
ценам ниже| Family | TPT |
------------------
| FamilyA | TPT2+TPT3+TPT5 |
| FamilyB | TPT1+TPT3+TPT4 |
| FamilyC | TPT1+TPT2 |
| FamilyD | 0 |
Объяснение для FamilyA имеет конкретные результаты ToolA и ToolB. ToolA связан с FamilyB (TPT2), FamilyC (TPT3) и самой FamilyA. ToolB связан с самим FamiltyA и FamilyB (TPT5). Таким образом, TPT для FamilyA - TPT2 + TPT3 + TPT5. То же самое для FamilyB, FamilyC. FamilyD имеет только ToolD. ToolD не имеет отношения ни к какой другой семье. Таким образом, TPT для FamilyD равен 0. Как написать sql-запрос, который будет получать эти результаты, используя указанную выше структуру таблицы?
Вы пытались написать код для решения этой проблемы? – dfundako
Мне нужно сделать это в sql-запросе –
, который rdbms? что вы попробовали? Какая у вас ошибка? вы искали SO (через SO-search и google)? На этот вопрос есть тонны этого вопроса ... Должно быть хотя бы одно решение вашего вопроса. – swe