ต้องมีการปรับผลรวมบางส่วนครับ
ช่องสาเหตุ 2.อุบัติเหตุอื่นๆ = 2.1+2.2+...+2.13
ผลรวมทั้งหมด = 1+2+3+4+5+6+7
ครับ ต้องดูให้ดีครับ
ส่วนดึงข้อมูลมาตรงไหมต้องไล่ดูเองครับ เช่น
function GetAccidentICDCountDistinctHNBySexAndDead(icd1,icd2,sex:string;bd1,bd2:TDateTime):integer;
begin
result:=0;
try
result:=getsqldata('select count(distinct v.hn) as cc from vn_stat v,ovstdiag o where v.vstdate between "'+formatdatetime('yyyy-mm-dd',bd1)+'" '+
' and "'+formatdatetime('yyyy-mm-dd',bd2)+'" and v.vn=o.vn and o.icd10 between "'+icd1+'" and "'+icd2+'" and v.sex="'+sex+'" and (v.vn in ('+
getsqlsubquerydata('select vn from er_regist where vstdate between "'+formatdatetime('yyyy-mm-dd',bd1)+'" and "'+
formatdatetime('yyyy-mm-dd',bd2)+'" and er_dch_type=4')+') or v.vn in ('+
getsqlsubquerydata('select vn from ovst where vstdate between "'+formatdatetime('yyyy-mm-dd',bd1)+'" and "'+
formatdatetime('yyyy-mm-dd',bd2)+'" and ovstost="52"') +') )');
except
on e:exception do
begin
showmessage(e.message);
end;
end;
end;
ลองดูครับ