mysql leftjoin 关联多组字段时,字段值不确定是不是null的sql查询

例如两个表T_ALARM_USE_ENERGY表和T_STATISTICS_CONFIG表的sub_system_code值都有可能是null

查询方式一(错误方式):

mysql leftjoin 关联多组字段时,字段值不确定是不是null的sql查询_第1张图片

查询结果如下:

mysql leftjoin 关联多组字段时,字段值不确定是不是null的sql查询_第2张图片

可以看到因为关联的左表或者右表的sub_system_code字段值为null,即使其他关联的字段正确匹配了,左表的statisticsName字段值查询结果还是为null,这种多组关联字段必须全部满足才可以,mysql不支持null的关联。

方式方式二(正确方式):

mysql leftjoin 关联多组字段时,字段值不确定是不是null的sql查询_第3张图片

查询结果如下:

mysql leftjoin 关联多组字段时,字段值不确定是不是null的sql查询_第4张图片

可以看到statisticsName字段有值了,这里用 ifnull(tsc.sub_system_code,'') = ifnull(taue.sub_system_code,'') 这句sql处理了一下就可以了,既然mysql不支持null字段关联,转换成空字符就可以了。

 

 

 

你可能感兴趣的:(mysql)