什么是最好的加入? (多对多)MYSQL

时间:2011-08-02 12:32:41

标签: mysql database join

这些表格(带圆圈)

http://imgur.com/Q1HlJ

最好的连接将用于什么,我尝试使用OUTER连接,但即使有匹配的数据也不会返回任何行。

由于

QUERY

select *

from 

hr

OUTER JOIN

hr

ON

hr.procedure_id = procedure.procedure_id

OUTER JOIN

staff

ON

staff.staff_id = hr.staff_id

Where hr.procedure_id = procedure.procedure_id

3 个答案:

答案 0 :(得分:1)

我会suggest reading up on JOINs。很难知道你在寻找什么。我们不会为您做出决定。

答案 1 :(得分:0)

你可能想要的是:

select p.*, hr.*, s.*
from procedure p
left outer join hr on p.procedure_id = hr.procedure_id
left outer join staff s on hr.staff_id = s.staff_id

除非程序中没有行,否则会给你结果。

但是,根据您的具体需要,您可以将这些方法放在一起。我不知道“hr”在这里代表什么,所以我不能用常识来解决这个问题。

答案 2 :(得分:0)

根本不打扰JOIN,让查询优化器为你处理它。

select * from hr, procedure, staff
where hr.procedure_id = procedure.procedure_id and staff.staff_id = hr.staff_id