SELECT person.pid
,CONCAT(ctitle.titlename,person.fname," ",person.lname)as ชื่อ
,CASE WHEN person.sex = '1' THEN 'ชาย' WHEN person.sex = '2' THEN 'หญิง' ELSE '' END AS เพศ
,person.idcard ,DATE_FORMAT(person.birth,'%d-%m-%Y')as วันเกิด
,(getAgeYearNum(person.birth,curdate())) as'ปี'
,(getAgeMonthNum(person.birth,curdate()))AS' เดือน '
,house.hno as บ้านเลขที่ ,right(house.villcode,1)as หมู่
,village.villname as หมู่บ้าน
,(CASE WHEN dental.gumstatus = '0' THEN " /" ELSE '' END) AS 'ปกติ'
,(CASE WHEN dental.gumstatus = '1' THEN " /" ELSE '' END) AS 'ระดับ 1'
,(CASE WHEN dental.gumstatus = '2' THEN " /" ELSE '' END) AS 'ระดับ 2'
,(CASE WHEN dental.gumstatus = '3' THEN " /" ELSE '' END) AS 'ระดับ 3'
,(CASE WHEN dental.gumstatus = '4' THEN " /" ELSE '' END) AS 'ระดับ 4'
,(CASE WHEN dental.gumstatus = '9' THEN " /" ELSE '' END) AS 'ไม่ตรวจ'
,(CASE WHEN dental.tartar = '0' THEN " /" ELSE '' END) AS 'ไม่พบหินน้ำลาย'
,(CASE WHEN dental.tartar = '1' THEN " /" ELSE '' END) AS 'พบหินน้ำลาย'
,(CASE WHEN dental.needfluoride = '1' THEN " /" ELSE '' END) AS 'จำเป็นต้องเคลือบฟลูออไรด์'
,(CASE WHEN dental.needfluoride = '2' THEN " /" ELSE '' END) AS 'ไม่จำเป็นต้องเคลือบฟลูออไรด์'
,(CASE WHEN dental.needscaling = '1' THEN " /" ELSE '' END) AS 'จำเป็นต้องขูดหินน้ำลาย'
,(CASE WHEN dental.needscaling = '2' THEN " /" ELSE '' END) AS 'ไม่จำเป็นต้องขูดหินน้ำลาย'
,dental.toothmilk AS 'จำนวนฟันน้ำนม'
,dental.toothmilkcorrupt AS 'ผุ(ซี่)'
,dental.dfilling as 'อุด(ซี่)'
,dental.dextract as 'ถอน/หลุด(ซี่)'
,dental.needdextract as'จำนวนฟันน้ำนมที่ต้องรักษา'
,(CASE WHEN dental.child18mcontrolertrain = '1' THEN " /" ELSE '' END) AS 'อายุ18เดือนได้รับการฝึก'
,(CASE WHEN dental.child18mcontrolertrain = '2' THEN " /" ELSE '' END) AS 'อายุ18เดือนไม่ได้รับการฝึก'
,(CASE WHEN dental.child35mcontrolertrain = '1' THEN " /" ELSE '' END) AS '♥ปีได้รับการฝึก'
,(CASE WHEN dental.child35mcontrolertrain = '2' THEN " /" ELSE '' END) AS '♥ปีไม่ได้รับการฝึก'
,(CASE WHEN cdrug.drugcode = '2338610' THEN " /" ELSE '' END) AS 'ได้รับการฝึกทักษะการแปรงฟัน (ลงมือ) 2338610'
,(CASE WHEN cdrug.drugcode = '2330010' THEN " /" ELSE '' END) AS 'ตรวจสุขภาพช่องปาก 233010'
,(CASE WHEN cdrug.drugcode = '2377020' THEN " /" ELSE '' END) AS 'ได้รับฟลูออไรด์ 2377020'
,(CASE WHEN cdrug.drugcode = '2377021' THEN " /" ELSE '' END) AS 'ได้รับฟลูออไรด์1 2377021'
from person
INNER JOIN ctitle on person.prename=ctitle.titlecode
INNER JOIN house on person.pcucodeperson=house.pcucodeperson and person.hcode=house.hcode
INNER JOIN village on house.villcode=village.villcode and house.pcucode=village.pcucode
INNER JOIN visit ON person.pcucodeperson = visit.pcucode AND person.pid = visit.pid
inner join visitdrug on visit.pcucode = visitdrug.pcucode and visit.visitno = visitdrug.visitno
inner JOIN cdrug on visitdrug.drugcode=cdrug.drugcode and length(trim(cdrug.drugcode)) = 7 and cdrug.drugtype='02'
LEFT OUTER JOIN (SELECT vd.*,max(v.visitdate)
From visitdentalcheck as vd
INNER JOIN visit as v on vd.visitno=v.visitno
where v.visitdate between '20131001' and '20140930'
GROUP BY concat(v.pcucodeperson,v.pid))as dental on person.pid = dental.pid and person.pcucodeperson=dental.pcucodeperson
WHERE getagemonth(person.birth,'2013-12-31') < 36
and right(house.villcode,2) !='00'
and person.typelive IN ('1','3')
and CONCAT(person.pcucodeperson,person.pid) not in (select CONCAT(persondeath.pcucodeperson,persondeath.pid) from persondeath)
AND visitdrug.drugcode = '2338610'
order by house.villcode,house.hno,person.birth;
#2338610