BMS-HOSxP Community

HOSxP => การเขียน SQL Script => ข้อความที่เริ่มโดย: kwh ที่ กรกฎาคม 15, 2009, 18:32:21 PM

หัวข้อ: เอา hn รพ นำมาเข้า person ใน patient_hn กันดีกว่า
เริ่มหัวข้อโดย: kwh ที่ กรกฎาคม 15, 2009, 18:32:21 PM
จากการให้เจ้าหน้าที่ลงข้อมูลการตรวจมะเร็งปากมดลูก แล้วเจอปัญหา ระบบไม่ยอมให้บันทึกข้อมูล เพราะ person มันยังไม่มี hn นั้นเอง (บัญชี 1 ผมยังไม่สมบรูณ์นั้นเอง   ;D )
 เลยเป็นที่มาของ SQL ตัวที่ผมจะแนะนำครับ (สำหรับ ท่านเทพก็ ถ้าสามารถเขียนได้สั้นกว่านี้ก็ช่วยแนะนำน้องใหม่ด้วยนะครับ)

อธิบาย code ความต้องการคือ ให้นำ HN ของ รพ นำมาเพิ่มให้อัตโนมัติ ใน person โดยมีเหงื่ยนไขว่า CID ต้องเท่ากันเท่านั้น จากการรัน SQL แล้ว  ผลปรากฎว่า ได้ HN มา 70% โดยที่ person ผม 28000 กว่าคน นะครับ
อีก 30% ไปไหน   ???  เพราะ  patient ผมมี CID ไม่ครบครับ

เอา code ด้านล่างไปรันใน สายฟ้านะครับ

โค๊ด: [Select]
UPDATE patient INNER JOIN person ON patient.cid = person.cid SET person.patient_hn = [hn]
WHERE (((person.patient_hn) Is Null));

ผลของการทำงาน

(http://www.upchill.com/direct/9dd833064453313a38a4b01c97fb5c26.JPG)

หัวข้อ: Re: เอา hn รพ นำมาเข้า person ใน patient_hn กันดีกว่า
เริ่มหัวข้อโดย: Khuad ที่ กรกฎาคม 15, 2009, 18:41:46 PM

... ขอบคุณครับ ...  ;D ...


...ที่ผมนี่ ผมได้ลองสุ่มดูข้อมูล cid ของผู้ป่วยแล้วเจอปัญหา ตอนนี้ก็พยายามแก้อยูู่ก็่คือ cid ในตาราง patient บางราย ไม่ใช่ของผู้ป่วยคนนั้นครับ เกิดการผิดพลาดตอนห้องบัตรบันทึกข้อมูล  ..  :'( ....
หัวข้อ: Re: เอา hn รพ นำมาเข้า person ใน patient_hn กันดีกว่า
เริ่มหัวข้อโดย: มนตรี บอยรักยุ้ยคนเดียว ที่ กรกฎาคม 15, 2009, 19:07:52 PM
เขียนสั้นดีครับ
หัวข้อ: Re: เอา hn รพ นำมาเข้า person ใน patient_hn กันดีกว่า
เริ่มหัวข้อโดย: komanp ที่ กรกฎาคม 15, 2009, 21:08:50 PM
ทำไงอะครับ
กด Run แล้วมันบอกให้ Exce กดแล้ว ok แล้ว
แต่ไม่เห็นลิ้งค์ หรือ patient_hn เพิ่มเลยครับ
เท่าเดิม
หัวข้อ: Re: เอา hn รพ นำมาเข้า person ใน patient_hn กันดีกว่า
เริ่มหัวข้อโดย: kwh ที่ กรกฎาคม 15, 2009, 21:16:37 PM
ถ้าทำถูกต้อง มันจะถามให้ยืนยันการเปลี่ยนครับ ทั้งนี้นั้นก็แล้วแต่ละ รพ. ว่ามีข้อมูล CID สมบูรณ์แค่ไหนด้วยนะครับ

ใช้ได้เฉพาะ PCU รพ. เท่านั้นนะครับ
หัวข้อ: Re: เอา hn รพ นำมาเข้า person ใน patient_hn กันดีกว่า
เริ่มหัวข้อโดย: komanp ที่ กรกฎาคม 15, 2009, 21:26:29 PM
ยืนยันแล้วครับ
มันขึ้น 6 พันกว่า hn
แต่ใช้คำสั่งนับใน person ก็ยังเป็น 3 ร้อยกว่าเหมือนเดิมครับ
หัวข้อ: Re: เอา hn รพ นำมาเข้า person ใน patient_hn กันดีกว่า
เริ่มหัวข้อโดย: kwh ที่ กรกฎาคม 15, 2009, 22:00:43 PM
โค๊ด: [Select]
SELECT Count(person.person_id) AS CountOfperson_id
FROM person
WHERE (((person.patient_hn) Is Not Null));

ลองใช้ code ด้านบน นับดูครับว่ามันปรับให้แล้วกี่ HN


การปรับปรุงอะไรเสร็จแล้ว ก็อย่าลืม กด update ทุกครั้งนะครับไม่อย่างนั้นมันจะ undo กับมาเหมือนเดิมครับ