表的动态连接(MySQL)

时间:2011-04-30 01:05:32

标签: mysql sql select join

我正在尝试找出在给定设置中连接表的正确方法:

Table0: COL1 COL2 COL3 COLX 科利

Col1-3是3个不同表的外键 - 它们可能有也可能没有值(例如col1可能为空,或者col 2和3都没有)。我正在尝试做的是构建一个连接到表1 - 3的选择查询,当且仅当存在值时。

我希望我能很好地解释这一点。

1 个答案:

答案 0 :(得分:2)

听起来你只是要求left join(或另一种outer join):

select table0.*, user.*, show.*
from table0
left join user on user.id=table0.userid
left join show on show.id=table0.showid

典型的结果可能是

table0.id  table0.userid  table0.showid  user.id  user.name  show.id  show.name
1          1              NULL           1        Bob        NULL     NULL
2          NULL           1              NULL     NULL       1        Flintstones