สารบัญ

/*เปลี่ยน labor_type_id ผิดพลาดกรณีเป็นคนไทย*/

update person as p

set person_labor_type_id = null

WHERE p.nationality = '99'

and p.person_labor_type_id is not null

or substr(p.cid,1,2)<>'00'

/*สัญชาติ ผิด nationality */

SELECT p.cid,p.pname,concat(p.fname,space(1),p.lname)as person_name,p.nationality

,'person'as'table'

from person p

where nationality ='99'and (left(fname,1) BETWEEN 'a'and 'z'

or p.lname like '%พม่า%')

union

SELECT pt.cid,pt.pname,concat(pt.fname,space(1),pt.lname)as person_name,pt.nationality ,'patient'as'table'

from patient pt

where pt.nationality

='99'and (left(pt.fname,1) BETWEEN 'a'and 'z'

or pt.lname like '%พม่า%');

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

/*! set names utf8*/;

/*สัญชาติ_nationality=99ผิด_ตามcid

-- 1. ระเบียบสำานักทะเบียนกลางว่าด้วยการจัดทำาทะเบียนราษฎร ..2535

*/

SELECT p.cid,left(p.cid,1)as'1digit',substring(p.cid,6,2)as '6-7digit',p.pname,concat(p.fname,space(1),p.lname)as person_name,p.nationality

,'patient'as'table'

from patient p

where

# กลุ่มบุคคลที่มีเลขประจำาตัวประชาชน 6

(left(p.cid,1)='6' and

substring(p.cid,6,2)in('00','50','51','52','53','54','55','56','57','58','59','60','61','62',

'63','64','65','66','67','68','71','72')

#2. กลุ่มบุคคลที่มีเลขประจำาตัวประชาชน 8

or left(p.cid,1)='8'

and substring(p.cid,6,2)in('00','73','76','77','78','79','81','82','84','86','86','87',

'88')

#3. กลุ่มบุคคลที่มีเลขประจำาตัวประชาชน 0

or left(p.cid,1)='0' and substring(p.cid,6,2)in('00','89'))

and nationality ='99'

union

SELECT p.cid,left(p.cid,1)as'1digit',substring(p.cid,6,2)as '6-7digit',p.pname,concat(p.fname,space(1),p.lname)as person_name,p.nationality

,'person'as'table'

from person p

where

# กลุ่มบุคคลที่มีเลขประจำาตัวประชาชน 6

(left(p.cid,1)='6' and

substring(p.cid,6,2)in('00','50','51','52','53','54','55','56','57','58','59','60','61','62',

'63','64','65','66','67','68','71','72')

#2. กลุ่มบุคคลที่มีเลขประจำาตัวประชาชน 8

or left(p.cid,1)='8'

and substring(p.cid,6,2)in('00','73','76','77','78','79','81','82','84','86','86','87',

'88')

#3. กลุ่มบุคคลที่มีเลขประจำาตัวประชาชน 0

or left(p.cid,1)='0' and substring(p.cid,6,2)in('00','89'))

and nationality ='99'

#---------------

 

ตัวอย่าง

cid 1digit 6-7digit pname person_name nationality table
8630784042543 8 84 น.ส. ปาริฉัตร xxx 99 patient
8630784042675 8 84 น.ส. อรวรรณ xxx 99 patient
671189004105 0 89 ด.ญ. สว่าง xxxx 99 patient
8710884002348 8 84 น.ส. ก้อย xxxx 99 patient
6015500782991 6 0 MR. MAUNG KYAW - 99 patient

/*ก่อนเปลี่ยนรหัสให้ตรงมาตรฐานต้องทำการ Update รหัสเก่าเสียก่อน ซึ่งถูกบันทึกไว้ในแฟ้ม patient และ person อาจต้องทำหลายครังจนกว่าจะหมด*/

set @newreligion = '05',@oldreligion = '02';/*เปลี่ยนตามต้องการ*/

update person p

set p.religion = @newreligion

where p.religion = @oldreligion;

update patient pt

set pt.religion = @newreligion

where pt.religion = @oldreligion;

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