У меня есть 3 таблицы: Оборудование, Разделы и Пользователи, и я хочу объединить 3 таблицы, сгруппированные по разделам, и показать общее количество оборудования на раздел и общее количество пользователей на раздел, включая нули
Example equipment table:
ID Device Name SectionID Device Type
1 Holly's computer 1 PC
2 John's mobile 2 mobile
3 Maggie's printer 3 printer
4 Jonathan's scanner 3 scanner
5 George's scanner 2 scanner
6 Dugans handheld 5 scanner
7 Main printer 5 printer
Example sections table:
ID Section
1 Finance
2 HR
3 IT
4 Manager
5 Storage
Example users table
ID User SectionID
1 John 3
2 George 2
3 Amanda 2
4 Andy 4
5 Katherine 1
Я пробовал это:
SELECT
b.section AS GROUPED_SECTION,
COUNT(distinct a.sectionid) AS TOTAL_EQUIPMENT,
COUNT(distinct c.sectionid) AS TOTAL_USERS
FROM Equipment a
LEFT JOIN Section b ON a.sectionid=b.id
LEFT JOIN Users c on a.sectionid=c.sectionid
GROUP BY b.description
ORDER BY b.description
но что-то работает неправильно
Я хочу создать запрос, который будет иметь следующий результат:
SECTION TOTAL_EQUIPMENT TOTAL_USERS
------- --------------- ------------
Finance 1 1
IT 2 1
HR 2 2
Manager 0 1
Storage 2 0
-1-й столбец представляет отдельные разделы из ОборудованияТаблица
-2-й столбец представляет общее количество оборудования на секцию согласно Таблице оборудования
-3-й столбец представляет общее количество пользователей в этом разделе согласно таблице Пользователи