У меня есть таблица MySQL products
, которая выглядит следующим образом:
|--------------------|
| id | parent | sold |
|--------------------|
| 1 | 0 | 1 |
| 2 | 1 | 3 |
| 3 | 1 | 0 |
| 4 | 0 | 2 |
|--------------------|
Я хочу получить результат того, сколько раз продукт был продан.Он также должен суммировать все дочерние столбцы продукта sold
.Поэтому я попытался использовать запрос следующим образом:
SELECT
p1.id,
SUM(p2.sold) + p1.sold AS sold
FROM products p1
JOIN products p2
ON p2.parent = p1.id
WHERE p1.parent = 0;
Но я получаю это:
|-----------|
| id | sold |
|-----------|
| 1 | 4 |
|-----------|
Так что это хорошо работает для первой записи, потому что у нее есть дети, а у четвертой записи нетдети.Мой ожидаемый результат таков:
|-----------|
| id | sold |
|-----------|
| 1 | 4 |
| 4 | 2 |
|-----------|