BMS-HOSxP Community

HOSxP => แจ้งปัญหา / ขอความช่วยเหลือ => ข้อความที่เริ่มโดย: pongsa ที่ มีนาคม 06, 2012, 08:03:42 AM

หัวข้อ: บันทึกการคัดกรองในกลุ่มเสียงอายุ 15 ปีขึ้นไป
เริ่มหัวข้อโดย: pongsa ที่ มีนาคม 06, 2012, 08:03:42 AM
บันทึกข้อมูลการคัดกรองประชากรกลุ่มเสี่ยงอายุ 15 ปีขึ้นไป แล้วเวลาที่บันทึกมันเปลี่ยน เป็น 19/02/255 ทุกรายครับ พึ่งเป็นไม่นาน แก้ยังไงน้อ ใช้ 3.55.1.19 ตรวจสอบในตาราง select * from person_dmht_screen_summary ทั้งที่วันที่ในเครื่องก็ตรง กับสอบถามคำสั่ง update วันที่ update ในตารางนี้ 09/12/2555 17:07:31 เป็นวันที่ที่ต้องการ เวลาที่ต้องการ       นับดูแล้วบันทึกไป 3000 กว่าราย  วันที่ครั้งสุดท้าย+เวลา  เหมือนกันหมด            เลยมีปัญหาว่าส่งออก 21 แฟ้ม  แฟ้ม ncdscreen  ไม่เข้ามาในระบบ
หัวข้อ: Re: บันทึกการคัดกรองในกลุ่มเสียงอายุ 15 ปีขึ้นไป
เริ่มหัวข้อโดย: udomchok ที่ มีนาคม 08, 2012, 23:48:41 PM
วันนี้เพิ่งว่าง ได้ตรวจสอบให้พี่ไสวแล้วครับ
ตรวจสอบพบว่ามีรายหนึ่งที่วันที่คัดกรองเป็น 09/12/2555 17:07:31
ทำให้ได้เป็นวันและเวลานี้ทุกราย

ลองทดสอบกับข้อมูลใน Notebook พบ error เช่นเดียวกัน โดยรายไหนที่มีการแก้ไข โปรแกรมจะเอา Max(screen_date,screen_time) มาใส่เป็น last_update ให้กับข้อมูลนั้น ๆ ซึ่งจริง ๆ ควรจะเป็นเวลาปัจจุบัน (Now()) มากกว่า

แก้ไขโดยใช้ SQL ไป Update ให้เป็นวันเวลาที่คัดกรอง ดังนี้ครับ

UPDATE person_dmht_screen_summary p1
join person_dmht_risk_screen_head p2 on p2.person_dmht_screen_summary_id=p1.person_dmht_screen_summary_id
SET p1.last_screen_datetime=concat(p2.screen_date," ",p2.screen_time)

ในระยะยาวคงต้องให้ อ.ชัยพร แก้ไขโปรแกรมครับ