我有一些桌子:
员工:id、姓名、id_suc、id dep、id_sec 成功:id_suc,名称 部门:id_dep,id_suc,名称 秒:id_sec、id_dep、id_suc、名称
不要怪我,这是一个现有的应用程序,我没有创建数据库并且无法触及结构,因为里面有太多的数据和依赖它的报告。我只是想按要求修改报告。
我做一个查询:
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
等等。它带来了 ALL sucurs
、ALL depart
、ALLsection
和有时重复emp
。
我错过了一些东西,但不知道是什么。有什么线索吗?