Monday, June 10, 2013

SQL นับจำนวน ผู้รับบริการ WBC และ EPI Clinic /พี่น้ำ

ภาพประกอบจาก Internet
     เมื่อเราต้องการทราบว่า มีเด็กมารับบริการ ฉีดวัคซีนไปแล้วกี่คน ในระยะเวลาที่กำหนด แต่ติดปัญหาอยู่ตรงว่า HOSxP มีการเก็บข้อมูลอยู่ 2 ตาราง คือ  person_wbc_service  เก็บการมารับบริการ 0-1 ปี  person_epi_vaccine เก็บการมารับบริการ 1-6 ปี  แต่ยังมีการเชื่อด้วย VN 555+ ค่อยยังดีหน่อย เลยเขียน SQL แบบ Sup Query ได้ดังนี้ เสนอแนะอย่างไรแสเงความคิดเห็นได้เต็มที่น่ะครับ

Code SQL

SELECT COUNT(DISTINCT v.hn) from vn_stat v
LEFT OUTER JOIN person p on p.patient_hn=v.hn
WHERE v.age_m in ("9","10","11","12")and v.vstdate BETWEEN "2012-10-01" and "2013-09-30" and p.village_id = "1"
and (v.vn in (SELECT w.vn from person_wbc_service w WHERE w.service_date BETWEEN "2012-10-01" and "2013-09-30" ) 
or v.vn in (SELECT e.vn FROM person_epi_vaccine  e WHERE e.vaccine_date BETWEEN "2012-10-01" and "2013-09-30")) 

Keepper 

1 ความคิดเห็น:

 

Sample Text

111

Sample Text