三个表分别是strategy,group,strategy_group。
其中strategy_group是strategy和group的id联系对应表。
我想查询的是strategy的全部,和group中的Gatewaymac。自己写的查询语句如下
请问大佬怎么把那些没有group联系的strategy信息也显示出来呀,并且将Gatewaymac值设为空
三个表分别是strategy,group,strategy_group。
其中strategy_group是strategy和group的id联系对应表。
我想查询的是strategy的全部,和group中的Gatewaymac。自己写的查询语句如下
请问大佬怎么把那些没有group联系的strategy信息也显示出来呀,并且将Gatewaymac值设为空
inner join 的使用导致的,改写了一下你的语句,希望能帮助到你
select s.*,ifnull(g.gatewaymac)
from vle_strategy s
left join strategy_group sg
on s.id = sg.strategy_id
left join vle_group g
on sg.group_id = g.id
15 回答8.4k 阅读
8 回答6.2k 阅读
5 回答3.2k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答3.6k 阅读✓ 已解决
1 回答4k 阅读✓ 已解决
3 回答2.6k 阅读✓ 已解决
你应该使用
LEFT JOIN
,可以保留被拼表字段为空的数据。LEFT JOIN
时没有对应值的数据的字段就是空值null
,如果你想空的时候有一个默认值可以借助IF
函数: