mysql ifnull语句
答案:2 悬赏:40
解决时间 2021-01-07 15:04
- 提问者网友:谁的错
- 2021-01-06 14:08
mysql ifnull语句
最佳答案
- 二级知识专家网友:鱼忧
- 2021-01-06 15:26
left join没有关联到的都会置成NULL, 跟你ifnull没有关系
写在最外层才有效果,像这样
SELECt a.*, ifnull(c.order_number,0) from `table_a` as a left join (select partner_id, IFNULL(count(order_id),0) as order_number from `table_c` group by partner_id) as c on c.partner_id=a.partner_id
写在最外层才有效果,像这样
SELECt a.*, ifnull(c.order_number,0) from `table_a` as a left join (select partner_id, IFNULL(count(order_id),0) as order_number from `table_c` group by partner_id) as c on c.partner_id=a.partner_id
全部回答
- 1楼网友:鸽屿
- 2021-01-06 16:44
首先,
你的语句中,完全没有必要使用ifnull(),
因为count()函数不会返回null值,只会返回>=0的整数。
其次,
结果中出现null的原因,并不是应为c.order_number的值,而是:
left join的时候,如果在右表中找不到对应的内容,就会显示null,
正是因为你的表c是空的,所以...
希望你能明白!
你的语句中,完全没有必要使用ifnull(),
因为count()函数不会返回null值,只会返回>=0的整数。
其次,
结果中出现null的原因,并不是应为c.order_number的值,而是:
left join的时候,如果在右表中找不到对应的内容,就会显示null,
正是因为你的表c是空的,所以...
希望你能明白!
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯