我这有个表,表名为Accident_Report,意思是事故报告,里面包含字段有AccidentTypeId事故类型ID,deathnumber死亡人数,woundnumber受伤人数,unitid单位,date日期等,另一个表为事故类型字典,Id与AccidentTypeId为关联字段,Contents为类型内容
我现在要用select语句实现所有类型的事故详细情况,人数是叠加Sum方法,我有个问题就是只有我数据库有记录,才会显示出数据,没有记录的事故类型就不显示了,但是我的目的是所有的事故类型都显示,没记录的显示0,求大虾们教我!
我现在要用select语句实现所有类型的事故详细情况,人数是叠加Sum方法,我有个问题就是只有我数据库有记录,才会显示出数据,没有记录的事故类型就不显示了,但是我的目的是所有的事故类型都显示,没记录的显示0,求大虾们教我!
from 事故类型字典 a left join 事故报告 b on a.Id = b.AccidentTypeIdselect a.* , isnull(b.woundnumber , 0) woundnumber
from 事故类型字典 a left join (select AccidentTypeId , sum(deathnumber) deathnumber , sum(woundnumber) woundnumber from 事故报告 group by AccidentTypeId) b on a.Id = b.AccidentTypeId
方法一:
select a.Contents as '事故信息',isnull(b.DeathNumber,0) as '死亡人数',isnull(b.WoundNumber,0) as '受伤人数',isnull(b.Date,'') as '事故发生日期' from Accident_Type as a, Accident_Report as b where b.AccidentTypeID=a.ID
方法二:
在设计数据表时,将死亡人数和受伤人数设置成 默认值为0
当数据为NULL时就自动变成0了(我都有设置默认值的习惯,大家有何看法?哈哈)
使用指定的替换值替换 NULL。