我有一些表格:
员工:编号、姓名、上级编号、部门编号、小组编号 上级:编号、名称 部门:编号、上级编号、名称 小组:编号、部门编号、上级编号、名称
别怪我,这是一个现有的应用程序,我没有创建数据库,也不能修改结构,因为里面有太多的数据和报告依赖它。我只是按照要求尝试修改报告。
我进行了一次查询:
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
。
我似乎漏掉了某些东西,但不知道是什么。有任何线索吗?