update opitemrece op
join ovst ov on ov.an=op.an
set op.vn=ov.vn, op.an=""
where op.an = "xxxxxxxxx"
update lab_head lh
join ovst ov on ov.an=lh.vn
set lh.vn=ov.vn, department="OPD"
where lh.vn = "xxxxxxxxx"
update lab_order_service los
join ovst ov on ov.an=los.vn
set los.vn=ov.vn, department="OPD"
where los.vn = "xxxxxxxxx"
update xray_head xh
join ovst ov on ov.an=xh.vn
set xh.vn=ov.vn, department="OPD"
where xh.vn = "xxxxxxxxx"
update xray_report xr
join ovst ov on ov.an=xh.an
set xr.an=""
where xr.an = "xxxxxxxxx"
โดย xxxxxxxxx คือ an ที่ต้องการยกเลิก
ปล. ทำในเครื่องสำรองก่อนนะครับ
ผมงง กับ VN AN ครับว่าวิธีการออกแบบเป็นอย่างไร
ถ้าดูในตาราง OVST จะเห็นว่า VN และ AN แยกออกจากกันอย่างชัดเจน
แต่ตาราง LABHEAD มี VN อย่างเดียวแต่รวมเอา VN(เดิม) และ AN อยู่ใน Field นี้ทั้งหมด
ตาราง LAB order ก็เหมือนกัน
ตาราง xray_head และ xray_report ก็เหมือนกัน
คำถามคือทำไมไม่แยกกันเหมือน OVST หรือถ้ามันรวมกันแล้วก็น่าจะได้เหมือนกัน
แต่ก็มีคำถามอีกว่า ถ้าระบบ LAB กับ Xray ใช้วิธีการบันทึก ทั้ง VN และ AN ลงใน Field VN ขอตารางของมันแล้ว
จะมีตารางในระบบอื่นอีกไหมที่เป็นแบบนี้ เพราะเวลาดึงรายงานจะได้มั่นใจว่าดึงมาได้ถูกต้อง รวมทั้งการยกเลิก Admit ด้วย