【发布时间】:2012-03-26 12:57:51
【问题描述】:
我有一些桌子:
员工: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
等等。它带来了所有sucurs、所有depart、所有section,有时还重复emp。
我错过了一些东西,但不知道是什么。有什么线索吗?
【问题讨论】:
标签: sql cartesian-product