MySQL针对联接表的多个别名联接

MySQL针对联接表的多个别名联接,mysql,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' 因此,它是表1上的一个查

我有一个很好的查询:

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'
因此,它是表1上的一个查询,表2上有一个联接,然后是表2上表3的多个别名联接的后续联接,但一旦我添加了更多联接,就没有结果,我也不确定原因,例如:

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'

有人能解释一下我做错了什么吗?

试试
加入
表3
。如果
表3
没有任何记录,这就是由于
内部
联接而无法生成结果的原因


实际上,您并没有加入
表3
上的任何列。最有可能是问题。

尝试
加入
表3
。如果
表3
没有任何记录,这就是由于
内部
联接而无法生成结果的原因


实际上,您并没有加入
表3
上的任何列。最有可能是问题。

第二个查询的预期示例结果是什么?
你能试试这个查询吗

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' or `table_2`.`column` = 'H')

第二个查询的预期示例结果是什么?
你能试试这个查询吗

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' or `table_2`.`column` = 'H')

尝试在
表3
上加入
左侧
。如果
表3
没有任何记录,这就是由于
内部
联接而无法生成结果的原因。实际上,您没有加入
表3
上的任何列。很可能就是这个问题。啊,谢谢!如果你加上这个作为答案,我会接受的。试试
加入
表3
。如果
表3
没有任何记录,这就是由于
内部
联接而无法生成结果的原因。实际上,您没有加入
表3
上的任何列。很可能就是这个问题。啊,谢谢!谢谢,@weiu DBA的回答正是我所需要的,我使用的是内部连接而不是左连接(这是我在生成原始sql的laravel eloquent查询中的一个错误),但我试图使用coalesce函数从另一个表(表3)中获取列值,基于表2中某列的列和值。谢谢,@weiu DBA的回答是我所需要的,我使用的是内部连接而不是左连接(这是我在生成原始sql的laravel eloquent查询中的一个错误),但我尝试使用coalesce函数从另一个表(表3)中获取列值,基于表2中的列和列的值。