sql查询数值为null时处理成0

来源:互联网 发布:hit韩服数据 编辑:程序博客网 时间:2024/05/21 23:00

一、应用场景

在遇到多张表查询时,很可能查一个关联数值时,并没有这条关联记录,所以查询到的结果是null,通常需要把这个结果处理成0或者其他。

这时候就用isNULL(字段,0)

如:

二、sql server可用

select car_repair.supplier_name  ,isNULL(sum(car_repair.tocal_maintain_money),0)+isNULL(sum(car_repair_work_hours_total.sum_work_hour_money),0) ,isNULL(sum(car_repair_info_total.sum_wz_total),0),isNULL(sum(car_repair_work_hours_total.sum_work_hour_money),0) ,cast(year(car_repair.repairs_time) as varchar)+'/'+cast(month(car_repair.repairs_time) as varchar)from car_repair left join (select repair_id,sum(wz_total) as sum_wz_total  from car_repair_info group by repair_id) as car_repair_info_totalon car_repair.id=car_repair_info_total.repair_id  left join (select repair_id,sum(work_hour_money) as sum_work_hour_money  from car_repair_work_hours group by repair_id) as car_repair_work_hours_totalon car_repair.id=car_repair_work_hours_total.repair_id group by car_repair.supplier_name,cast(year(car_repair.repairs_time) as varchar)+'/'+cast(month(car_repair.repairs_time) as varchar)

三、MYSQL可用

select cource.c_id,cource.c_name,cource.c_num,ifnull(student.count_c_id,'lattice') from cource left join (select c_id,count(s_id) as count_c_id from cource_student group by c_id) as studenton cource.c_id=student.c_id;


0 0