BMS-HOSxP Community
HOSxP => แจ้งปัญหา / ขอความช่วยเหลือ => ข้อความที่เริ่มโดย: 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 ไม่เข้ามาในระบบ
-
วันนี้เพิ่งว่าง ได้ตรวจสอบให้พี่ไสวแล้วครับ
ตรวจสอบพบว่ามีรายหนึ่งที่วันที่คัดกรองเป็น 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)
ในระยะยาวคงต้องให้ อ.ชัยพร แก้ไขโปรแกรมครับ