แบบร่างข้อมูลคร่าวก่อนลงมือปฏิบัติจริง
เมื่อเราได้แบบร่างข้อมูลในหัวแล้ว
อันดับแรกเลือกตารางที่จำเป็นต้องใช้ ผมเลือก vn_stat เพราะมันเก็บข้อมูลการมารับบริการ patient เพราะจะดึงรายชื่อผู้รับบริการ clinicmember เพื่อใส่เงื่อนไขในการดึงข้อมูล
คำสัง SQL Clinic HT "003"
SELECT CONCAT(p.pname,p.fname," ",p.lname) as ptname,v.vstdate,v.hn,v.pdx,c.clinic from vn_stat v
LEFT OUTER JOIN clinicmember c on c.hn=v.hn
LEFT OUTER JOIN patient p on p.hn=v.hn
LEFT OUTER JOIN person pp on pp.patient_hn=v.hn
WHERE v.vstdate BETWEEN "2013-02-01" and "2013-02-11" and c.clinic in ("003") and v.hn not in (SELECT hn FROM clinicmember WHERE clinic = "001") and pp.village_id <> "1" and c.clinic_member_status_id in ("1","2")
GROUP BY v.hn
ORDER BY v.vstdate
อธิบายเงื่อนไข
- เลือกผู้ป่วยในช่วงวันที่ v.vstdate BETWEEN "2013-02-01" and "2013-02-11"
- เลือกผู้ป่วยที่อยู่ใน Clinic 003 อย่างเดียว 001 ไม่เอา c.clinic in ("003") and v.hn not in (SELECT hn FROM clinicmember
- ผู้ป่วยต้องอยู่ในเขต pp.village_id <> "1"
- และสถานะต้องติดตามการรักษา c.clinic_member_status_id in ("1","2")
คำสั่ง SQL Clinic DM "001"
SELECT CONCAT(p.pname,p.fname," ",p.lname) as ptname,v.vstdate,v.hn,v.pdx,c.clinic from vn_stat v
LEFT OUTER JOIN clinicmember c on c.hn=v.hn
LEFT OUTER JOIN patient p on p.hn=v.hn
LEFT OUTER JOIN person pp on pp.patient_hn=v.hn
WHERE v.vstdate BETWEEN "2013-02-01" and "2013-02-08" and c.clinic = "001" and pp.village_id <> "1" and c.clinic_member_status_id in ("1","2")
GROUP BY v.hn
ORDER BY v.vstdate
ส่งข้อมูลออก Excell แล้วก็จัดการตามใจชอบ ^___^
#keepper