我有这个疑问,工作正常:MySQL的多个别名地加入反对加入表
select table_1.*, coalesce(test_1.type) as type
from `tbl_1`
left join `table_2` on `table_1`.`table_1_id` = `table_1`.`id`
inner join `table_3` as `test_1` on `test_1`.`code` = `table_2`.`column` and `table_2`.`column` = 'L'
所以,这是一个连接上表2表1查询,然后随后加入其中,从表的多个别名加入3表2,但只要我添加更多的连接,我没有得到任何结果,我不知道为什么,例如:
select table_1.*, coalesce(test_1.type, test_2.type) as type
from `tbl_1`
left join `table_2` on `table_1`.`table_1_id` = `table_1`.`id`
inner join `table_3` as `test_1` on `test_1`.`code` = `table_2`.`column` and `table_2`.`column` = 'L'
inner join `table_3` as `test_2` on `test_2`.`code` = `table_2`.`column` and `table_2`.`column` = 'H'
谁能解释我做了什么错?
尝试'table_3'上的'LEFT'连接。如果没有'table_3'的记录,这就是为什么你不会得到任何结果,因为'INNER'加入。其实,你没有加入'table_3'上的任何列。最有可能的问题。 –
啊,谢谢!如果你添加这个答案,那么我会接受它。 – martincarlin87