BMS-HOSxP Community

HOSxP => การเขียน SQL Script => ข้อความที่เริ่มโดย: nan_it ที่ สิงหาคม 10, 2009, 14:13:29 PM

หัวข้อ: ตรวจสอบคำสั่งให้หน่อยครับ
เริ่มหัวข้อโดย: nan_it ที่ สิงหาคม 10, 2009, 14:13:29 PM
คือผมต้องการดึงข้อมูลผู้ป่วยตรวจ lab microallbumine ที่มีผลเป็น positive และได้รับ Enalapril

select distinct(ov.hn),op.vn,op.hn,op.icode , ld.lab_order_number,lh.lab_order_number,ld.lab_items_code ,lh.order_date ,ld.lab_order_result ,concat(pt.pname,pt.fname,' ',pt.lname)as name ,di.name
from vn_stat ov
left outer join opitemrece op on op.vn = ov.vn
left outer join patient pt on pt.hn = ov.hn
left outer join lab_head lh on lh.hn = ov.hn
left outer join lab_order ld on ld.lab_order_number = lh.lab_order_number
left outer join drugitems di on di.icode = op.icode
where op.icode in (1000122,1460151)
and ld.lab_items_code = '3087'
and ld.lab_order_result not like 'ne%'  and ov.vstdate between '2009-01-01' and '2009-01-31'
group by ov.hn
order by ov.hn
หัวข้อ: Re: ตรวจสอบคำสั่งให้หน่อยครับ
เริ่มหัวข้อโดย: thannawe ที่ สิงหาคม 10, 2009, 17:40:54 PM
ก็น่าจะโอเคหนิครับ
ไม่มั่นใจตรงไหนครับ
 :D ;D
หัวข้อ: Re: ตรวจสอบคำสั่งให้หน่อยครับ
เริ่มหัวข้อโดย: golf_win ที่ สิงหาคม 10, 2009, 18:54:46 PM
ผมว่าน่าจะเป็นแบบนี้ดีกว่าเพราะบางทีห้อง lab ไม่ได้รายงานผล lab อ่ะครับ
select distinct(ov.hn),op.vn,op.hn,op.icode , ld.lab_order_number,lh.lab_order_number,ld.lab_items_code ,lh.order_date ,ld.lab_order_result ,concat(pt.pname,pt.fname,' ',pt.lname)as name ,di.name
from vn_stat ov
left outer join opitemrece op on op.vn = ov.vn
left outer join patient pt on pt.hn = ov.hn
left outer join lab_head lh on lh.hn = ov.hn
left outer join lab_order ld on ld.lab_order_number = lh.lab_order_number
left outer join drugitems di on di.icode = op.icode
where op.icode in (1000122,1460151)
and ld.lab_items_code = '3087'
and ld.lab_order_result  like 'pos%'    and ov.vstdate between '2009-01-01' and '2009-01-31'
group by ov.hn
order by ov.hn
หัวข้อ: Re: ตรวจสอบคำสั่งให้หน่อยครับ
เริ่มหัวข้อโดย: nan_it ที่ สิงหาคม 10, 2009, 21:27:12 PM
ขอบคุณครับ ผมไม่มันใจตรงที่ ผลลัพท์ครับ คือผลลองดึงข้อมูล ผู้ป่วยที่ตรวจ lab microallbumine ที่มีผล positive อย่างเดียว ผลลัพท์คือจำนวน มันมากกว่า ผู้ป่วยตรวจ lab microallbumine ที่มีผลเป็น positive และได้รับ Enalapril ครับ

select  ld.lab_order_number,lh.lab_order_number,ld.lab_items_code ,lh.hn,pt.hn,concat(pt.pname,pt.fname,' ',pt.lname) as name,lh.order_date ,ld.lab_order_result
from lab_order ld , lab_head lh,patient pt
where ld.lab_order_number = lh.lab_order_number and lh.hn = pt.hn and order_date between '2008-12-01'and'2009-06-30'
and ld.lab_items_code = '3087'
and ld.lab_order_result not like 'ne%'

ถ้าใช้ ld.lab_order_result like 'pos%' ข้อมูลที่เป็นค่า +1,+2 จะไม่ออกมากครับ