mysql, суммирование значений связанных таблиц
есть 3 связанные таблицы, главная таблица - категория, вторая таблица- оборудования, 3-пользователи. суммирую оборудования по категориям- проходит, суммирую пользователей по категориям - проходит, пытаюсь суммировать одновременно оборудования и пользователей - не проходит. возможно не правильно суммирую. ниже выложил запрос. помогите пожалуйста разобраться.
SELECT sum.name AS 'категория'
, SUM(dslam.dslam) AS 'сумма'
FROM dslam
JOIN sum ON dslam.sats_id = sum.id
GROUP BY sum.id;
SELECT sum.name AS 'Категория'
, COUNT(sats.sats_id) AS 'пользователи'
FROM sats
JOIN sum ON sats.sats_id = sum.id
GROUP BY sum.id;
как-то так пытаюсь объединить запрос
SELECT sum.name AS 'категория', SUM(dslam.dslam) AS 'сумма', COUNT(sats.sats_id) AS'пользователи' FROM dslam JOIN sum ON dslam.sats_id = sum.id JOIN sats ON sats.sats_id = sum.id GROUP BY sum.id;
Ответы (1 шт):
Автор решения: Akina
→ Ссылка
SELECT sum.name AS 'Категория',
, dslam_agg.sum_dslam AS 'сумма'
, sats_agg.count_sats AS 'пользователи'
FROM sum
[LEFT] JOIN (SELECT dslam.sats_id AS id
, SUM(dslam.dslam) AS sum_dslam
FROM dslam
GROUP BY dslam.sats_id) dslam_agg USING (id)
[LEFT] JOIN (SELECT sats.sats_id AS id
, COUNT(sats.sats_id) AS count_sats
FROM sats
GROUP BY sats.sats_id) sats_agg USING (id)
