BMS-HOSxP Community
HOSxP => การเขียน SQL Script => ข้อความที่เริ่มโดย: Bluebird ที่ พฤษภาคม 25, 2011, 09:00:01 AM
-
เดิมพยาบาลต้องการรายชื่อผู้ป่วยคลีนิคเบาหวาน ตรวจ DTX และ FBS ที่มีผล ระหว่าง 70-200
แต่ผู้ป่วยช่วง 3 เดือน (ก.พ.-เม.ย.) ที่ตรวจ ผลตรวจครั้งใดครั้งหนึ่งที่มีผล มากกว่า 200 จะไม่เอา
รายชื่อผู้ป่วยคลีนิคเบาหวาน ตรวจ DTX และ FBS ที่มีผล ระหว่าง 70-200
select v.vstdate,p.hn,concat(p.pname,p.fname," ",p.lname) as ptname,l2.lab_order_result from vn_stat v
left outer join patient p on p.hn=v.hn
left outer join clinicmember c on c.hn=v.hn
left outer join lab_head l1 on l1.vn=v.vn
left outer join lab_order l2 on l2.lab_order_number=l1.lab_order_number
where v.vstdate between "2011-02-01" and "2011-04-30"
and c.clinic="001" and l2.lab_items_code in("76","219")
and l2.lab_order_result between 70 and 200
-
รายชื่อผู้ป่วยคลีนิคเบาหวาน ตรวจ DTX และ FBS ที่มีผล ระหว่าง 70-200
select v.vstdate,p.hn,concat(p.pname,p.fname," ",p.lname) as ptname,l2.lab_order_result from vn_stat v
left outer join patient p on p.hn=v.hn
left outer join clinicmember c on c.hn=v.hn
left outer join lab_head l1 on l1.vn=v.vn
left outer join lab_order l2 on l2.lab_order_number=l1.lab_order_number
where v.vstdate between "2011-02-01" and "2011-04-30"
and c.clinic="001" and l2.lab_items_code in("76","219")
and l2.lab_order_result between 70 and 200
ช่วยเพิ่มเติม ที่ว่า หากผล LAb ในช่วง 3 เดือน ที่มีค่า 200 ขึ้นไป ไม่ต้องเอา ต่อจากคำสั่งแรก
-
แบบนี้ได้ไหมครับ
select v.vstdate,p.hn,concat(p.pname,p.fname," ",p.lname) as ptname,l2.lab_order_result from vn_stat v
left outer join patient p on p.hn=v.hn
left outer join clinicmember c on c.hn=v.hn
left outer join lab_head l1 on l1.vn=v.vn
left outer join lab_order l2 on l2.lab_order_number=l1.lab_order_number
where v.vstdate between "2011-02-01" and "2011-04-30"
and c.clinic="001" and l2.lab_items_code in("76","219")
and l2.lab_order_result between 70 and 200
and p.hn not in (select hn from lab_order where lab_order_result>200 where lab_items_code in("76","219") and laborder_date between "2011-02-01" and "2011-04-30" )
-
select v.vstdate,p.hn,concat(p.pname,p.fname," ",p.lname) as ptname,l2.lab_order_result from vn_stat v
left outer join patient p on p.hn=v.hn
left outer join clinicmember c on c.hn=v.hn
left outer join lab_head l1 on l1.vn=v.vn
left outer join lab_order l2 on l2.lab_order_number=l1.lab_order_number
where v.vstdate between "2011-02-01" and "2011-04-30"
and c.clinic="001" and l2.lab_items_code in("76","219")
and l2.lab_order_result between 70 and 200
and p.hn not in (select l4.hn from lab_order l3
left outer join lab_head l4 on l4.lab_order_number=l3.lab_order_number
where l3.lab_items_code in("76","219")
and l3.lab_order_result>200 and l4.order_date between "2011-02-01" and "2011-04-30" )
group by hn
ขอบคุณท่าน pop_hosxp ให้แนวทางมา