ADDRESS

 address1

โครงสร้างแฟ้ม address

/*ADDRESS_no_real_address*/

/*1) ประชาชนทุกคนที่อาศัยในเขตรับผิดชอบแต่มีทะเบียนบ้านอยู่นอกเขตรับผิดชอบ

2) ผู้มารับบริการที่อาศัยอยู่นอกเขตรับผิดชอบ*/

/*ประชาชนทุกคนที่อาศัยในเขตรับผิดชอบแต่มีทะเบียนบ้านอยู่นอกเขตรับผิดชอบ ไม่ระบุที่อยู่*/

SELECT

p.person_id,p.house_regist_type_id AS "type_area",

CONCAT(p.fname,SPACE(1),p.lname)AS 'ptname',

e.addrpart,e.moopart,e.tmbpart,e.amppart,e.chwpart,t.full_name as 'ที่อยู่ในห้องบัตร'

FROM

person AS p

inner join patient as e on e.hn = p.patient_hn

LEFT OUTER JOIN person_address AS pa ON pa.person_id = p.person_id

inner join house as o on o.house_id = p.house_id

inner join thaiaddress as t on t.addressid = e.addressid

WHERE

#p.house_regist_type_id IN ('3', '4')

o.address = '0'

AND pa.moopart IS NULL

ORDER BY

p.fname,p.lname;

#===================

ตัวอย่าง
person_id type_area ptname addrpart moopart tmbpart amppart chwpart ที่อยู่ในห้องบัตร
62336 4 ZAW WIN TUN(กาย) - xxxxxxx 11 2 8 72 ต.วังลึก อ.สามชุก จ.สุพรรณบุรี
44759 4 ZIN MIN THU(ซิน มิน ตู) TD 053143 xxxxxxx 9 1 8 72 ต.ย่านยาว อ.สามชุก จ.สุพรรณบุรี
20980 4 ก๊ก xxx xxxxxxx 11 2 8 72 ต.วังลึก อ.สามชุก จ.สุพรรณบุรี
40070 4 เกษ xxxx xxxxxxx 7 6 8 72 ต.หนองสะเดา อ.สามชุก จ.สุพรรณบุรี
42510 4 กชกร xxxx xxxxxxx 10 1 10 72 ต.หนองหญ้าไซ อ.หนองหญ้าไซ จ.สุพรรณบุรี

 

/*ADDRESSTYPE ประเภทของที่อยู่*/

/*1= ที่อยู่ตามทะเบียนบ้าน, 2= ที่อยู่ที่ติดต่อได้*/

/*ผู้ที่ไม่มีชื่อในทะเบียนบ้าน แต่ ไม่มีที่อยู่นอกเขตรับผิดชอบ*/

SELECT

p.house_regist_type_id as type_area,

p.cid,

p.pname,

concat(p.fname,space(1),p.lname)as person_name,

p.has_house_regist,

pa.addrpart,

pa.moopart,

pa.tmbpart,

pa.amppart,

pa.chwpart

FROM

person p

LEFT OUTER JOIN person_address pa ON pa.person_id = p.person_id

WHERE

p.house_regist_type_id IN (3, 4)

AND p.has_house_regist <> 'y'

AND pa.moopart IS NULL

ORDER BY

p.house_regist_type_id asc;

#===================

 ตัวอย่าง

type_area cid pname person_name has_house_regist addrpart moopart tmbpart amppart chwpart
3 8888888888888 นาง แก้ว xxx N          
3 8888888888888 นาง มด xxx N          
3 8888888888888 ด.ญ. หทัยรัตน์ xxx N          
3 8888888888888 ด.ญ. หทัยรัตน์ xxx N          
3 8888888888888 ด.ญ. น้ำหวาน xxx N          

/*HOUSETYPE ลักษณะของที่อยู่ */

/*1 = บ้านเดี่ยว บ้านแฝด, 2 = ทาวน์เฮาส์ ทาวน์โฮม, 3 = คอนโดมิเนียม,

4 =อพาร์ทเมนท์ หอพัก, 5= บ้านพักคนงาน, 8 = อื่นๆ, 9 = ไม่ทราบ*/

/*แสดง ไม่บันทึก HOUSETYPE ลักษณะของที่อยู่ */

SELECT

house.house_id,

house.village_id,

house.address,

house.road,

house.house_subtype_id,

hs.house_subtype_name

FROM

house

LEFT JOIN house_subtype hs ON hs.house_subtype_id = house.house_subtype_id

WHERE

house.house_subtype_id IS NULL

#===================

ตัวอย่าง

house_id village_id address road house_subtype_id house_subtype_name
4496 2 709/1    
4502 2 41/44      
4511 2 44      
4512 2 682/19      

 

/*UPDATE บ้านเดี่ยว กรณีไม่บันทึก*/

UPDATE house

SET house_subtype_id = '1',

last_update = now()

WHERE

house_subtype_id IS NULL

OR house_subtype_id NOT IN (

'1',

'2',

'3',

'4',

'5',

'8',

'9'

) #===================

 

/*person not in village */

SELECT

h.house_id,

h.village_id,

h.address,

h.house_subtype_id,

p.pname,

concat(p.fname,space(1),p.lname)as 'person_name',

p.nationality,

n.`name`as 'nationality_name'

FROM

house AS h

RIGHT JOIN person AS p ON p.house_id = h.house_id

RIGHT JOIN nationality AS n ON n.nationality = p.nationality

WHERE

h.village_id NOT IN (

SELECT

v.village_id

FROM

village AS v

);

#===================