У меня есть несколько таблиц:
Employee: id, name, id_suc, id dep, id_sec Suc : id_suc, name Dep : id_dep, id_suc, name Sec : id_sec, id_dep, id_suc, name
Не обессудьте, это существующее приложение, я не создавал базу данных и не могу трогать структуру, так как внутри слишком много данных и отчетов, зависящих от них. Я просто пытаюсь изменить отчет, как просили.
Делаю запрос:
SELECT DISTINCT
s.name as sucurs,
d.name as depart,
c.name as section,
e.name AS emp
FROM
employee e
join suc s on (e.id_suc = s.id_suc)
join dep d on (e.id_dep = d.id_dep)
join sec c on (e.id_sec = c.id_sec)
ORDER BY
sucurs, depart, section, emp
и приносит мне декартово произведение. Я хочу:
sucurs1, depart1, section1, emp1
sucurs1, depart1, section1, emp2
.....
(потом в отчете группирую по suc, потом dep, потом sec)
вместо этого я получил:
sucurs1, depart1, section1, emp1
sucurs2, depart1, section1, emp1
и так далее. Он приносит ВСЕ sucurs
, ВСЕ depart
, ВСЕ section
и иногда дублирует emp
.
Я что-то упускаю, но не знаю что. Любые подсказки?