BMS-HOSxP Community
HOSxP => การเขียน SQL Script => ข้อความที่เริ่มโดย: treera ที่ พฤศจิกายน 12, 2006, 03:10:05 AM
-
ขอความช่วยเหลือหน่อยครับอาจารย์ ผมต้องการดึงเลขที่บัตรประจำตัวประชาชนจากข้อมูลของระบบประกันสุขภาพ โดยที่รูปแบบของข้อมูลงานประกันสุขภาพจะมี field "fnam,lname,cid" ของ table "pop" และผมต้องการดึงข้อมูลเข้ากับชุดข้อมูลของ hosxp หรือ stat ในส่วนของ table partient field "fname,lname,pid" โดยที่ field pid จะมีค่าที่ว่างอยู่ โดยอยากให้เชื่อมกันโดยใช้ fname และ lname เป็นตัวเชื่อมแล้วให้ fnameและlname ที่มีค่าเท่ากันทำการดึงข้อมูล cid ใน table pop ไปยัดใส่ใน field pid ใน table partient ช่วยหน่อยครับอาจารย์
-
และอยากได้ sql ในการเพิ่มเลขบัตรประจำตัวประชาชนลงใน filed ที่ว่างเป็น 1111111111111 โดยไม่ต้องลงในโปรแกรมเพราะว่าจะใช้เวลามาก ต้องการกรอกไว้ทีเดียว ขอบคุณครับ
-
มีโอกาสผิดพลาดในการดึงข้อมูลสูงครับ โดยเฉพาะกรณีชื่อ นามสกุล ซ้ำกัน
ชื่อนามสกุล เป็น index ที่ไม่ดีนัก
ลองตรวจสอบ ด้วย code นี้ ถ้าไม่มีชื่อซ้ำเลยจะช่วยดึงให้ครับ
SELECT fname,count(fname) as cf,lname,count(lname) as cl FROM patient
GROUP BY fname,lname
HAVING cl>'1' AND cf>'1'
-
ชื่อ-สกุล ซ้ำมีครับผมว่าจะดึงเอาเฉพาะ ชื่อและสกุลที่ไม่ซ้ำก่อน และส่วนที่ซ้ำคงจะตรวจสอบและเพิ่มเข้าไปใหม่อีกทีหนึ่งครับ ช่วยหน่อยครับ
-
ผมว่า cid ว่างดีอยู่แล้ว เอาไว้ตรวจสอบ
ตอนลงทะเบียนตรวจ จะได้เป็น double check อีกทีครับ
*****
การ update table ถ้าเราสั่งผิดจะมีผลกระทบมากมายนะ
*****
update patient set cid='1111111111111' where cid is null
ระวังนะครับ