我有这张桌子
tbl_emp
ID| name |
1 | a |
2 | b |
3 | c |
4 | d |
tbl_remit
ID| remit |
1 | 2012-01-01|
2 | 2013-01-01|
3 | 2012-05-01|
tbl_report
ID| report |
1 | 2012-01-01|
2 | 2013-01-01|
3 | 2012-05-01|
我需要在tbl_emp中加入所有3个,无论tbl_remit或tbl_report中是否有数据。
这是我使用但失败的代码。
SELECT tbl_emp*, tbl_remit.remit, tbl_report.report from tbl_emp
left join tbl_emp.ID = tbl_remit.ID LEFT JOIN tbl_emp.ID = tbl_report.ID
我得到的表是
ID | remit | report |
1 | NULL | NULL |
2 | NULL | NULL |
3 | NULL | NULL |
4 | NULL | NULL |
我需要的表是
ID | remit | report |
1 |2012-01-01|2012-01-01|
2 |2013-01-01|2013-01-01|
3 |2012-05-01|2012-05-01|
4 | NULL | NULL |
答案 0 :(得分:0)
您可以通过使用内部联接加入其他两个表来执行此操作。并将结果表与emp表连接起来。为此,您可以使用子查询。
select * from tbl_emp x left join (
select a.id as id, a.remit as remit,b.report as report from
tbl_remita,tbl_report b where a.id=b.id) y on x.id = y.id
希望它会有所帮助。