BMS-HOSxP Community
HOSxP => การเขียน SQL Script => ข้อความที่เริ่มโดย: pattapong007 ที่ กุมภาพันธ์ 09, 2015, 10:54:55 AM
-
ขอคำสั่ง SQL หาผู้ป่วยค่า FBS และค่าความดัน 3 ครั้งสุดท้าย ด้วยครับผม ในคลีนิค เบาหวาน
ขอบคุณครับ
-
เงียบ กริ๊บ
-
รายงานเก่าที่อ.ท่านใดทำไว้นานแล้วครับ ผมก็จำไม่ได้ ขออภัยมา ณ โอกาสนี้ครับ
อย่าลืมแก้ไข lab_items_code นะครับ
set @d1 = '2013-10-01';
set @d2 = '2014-03-31';
select *
from
(select v.hn,concat(p.pname,p.fname,space(3),p.lname) as ptname, v.aid,
(select lo.lab_order_result from lab_order lo
left outer join lab_head lh on lh.lab_order_number=lo.lab_order_number
where lo.lab_items_code=66 and lh.hn=v.hn
and lh.order_date between @d1 and @d2
order by lh.report_date desc,lh.report_time desc limit 0,1) as fbs
,
(select lo2.lab_order_result from lab_order lo2
left outer join lab_head lh2 on lh2.lab_order_number=lo2.lab_order_number
where lo2.lab_items_code=66 and lh2.hn=v.hn
order by lh2.report_date desc,lh2.report_time desc limit 1,1) as fbs1
,
(select lo3.lab_order_result from lab_order lo3
left outer join lab_head lh3 on lh3.lab_order_number=lo3.lab_order_number
where lo3.lab_items_code=66 and lh3.hn=v.hn
order by lh3.report_date desc,lh3.report_time desc limit 2,1) as fbs2
from vn_stat v
left join patient p on p.hn = v.hn
where v.vstdate between @d1 and @d2
and v.hn in (select hn from clinicmember where clinic="001")
group by v.hn
order by v.aid desc ,p.pname,p.fname,p.lname
) as ttemp
where fbs between 70 and 130 and fbs1 between 70 and 130 and fbs2 between 70 and 130
-
ขอบคุณจ้า
-
รายงานเก่าที่อ.ท่านใดทำไว้นานแล้วครับ ผมก็จำไม่ได้ ขออภัยมา ณ โอกาสนี้ครับ
อย่าลืมแก้ไข lab_items_code นะครับ
set @d1 = '2013-10-01';
set @d2 = '2014-03-31';
select *
from
(select v.hn,concat(p.pname,p.fname,space(3),p.lname) as ptname, v.aid,
(select lo.lab_order_result from lab_order lo
left outer join lab_head lh on lh.lab_order_number=lo.lab_order_number
where lo.lab_items_code=66 and lh.hn=v.hn
and lh.order_date between @d1 and @d2
order by lh.report_date desc,lh.report_time desc limit 0,1) as fbs
,
(select lo2.lab_order_result from lab_order lo2
left outer join lab_head lh2 on lh2.lab_order_number=lo2.lab_order_number
where lo2.lab_items_code=66 and lh2.hn=v.hn
order by lh2.report_date desc,lh2.report_time desc limit 1,1) as fbs1
,
(select lo3.lab_order_result from lab_order lo3
left outer join lab_head lh3 on lh3.lab_order_number=lo3.lab_order_number
where lo3.lab_items_code=66 and lh3.hn=v.hn
order by lh3.report_date desc,lh3.report_time desc limit 2,1) as fbs2
from vn_stat v
left join patient p on p.hn = v.hn
where v.vstdate between @d1 and @d2
and v.hn in (select hn from clinicmember where clinic="001")
group by v.hn
order by v.aid desc ,p.pname,p.fname,p.lname
) as ttemp
where fbs between 70 and 130 and fbs1 between 70 and 130 and fbs2 between 70 and 130
ขาดเรื่องความดันโลหิตครับ.. อ.กอล์ฟ แต่อันนี้ ดูเฉพาะ กลุ่มที่ขึ้นทะเบียนโรคเรื้อรังไปแล้ว ถ้าจะเอาทั้งหมด อาจต้องจาก select distinct(hn) from ovstdiag ที่มี (icd10 between "E10" and "E149" or icd10 between "I10" and "I159")
-
มิกล้าครับ เรื่องความดันโลหิตคงต้องให้ท่านเทพทั้งหลายแนะนำครับ ผมกลัวว่าระบบจะมีปัญหาเวลา run script ครับ ::) ::)
-
มิกล้าครับ เรื่องความดันโลหิตคงต้องให้ท่านเทพทั้งหลายแนะนำครับ ผมกลัวว่าระบบจะมีปัญหาเวลา run script ครับ ::) ::)
ระดับ อ.กอล์ฟ ไม่กล้า... ผมงี้... ขอหนีไปหลบห้องเก็บของเลยครับ..
-
ขอบคุณครับผม
-
select vn,vstdate,bpd,bps,
if(bpd<= 80 and bps <= 140,(@score := @score + 1),(@score := 0)) as score,if(@score = 3,1,0) as point
from opdscreen,(select @score := 0) b where hn = '000043028' and bpd <> ' '
and vstdate between '2013-10-01' and '2014-09-30' order by vn desc limit 4
ไม่รู้จะช่วยได้หรือเปล่า ผมก็อยากจะตอบแทน สังคม hosxp โดยเป็นผู้ให้บ้าง ครับ ขอบคุณมากครับ
ปล.กำลังทำอยู่เหมือนกันครับ
ขอเพิ่มตรงส่วน hn ที่เป็นการวินิจฉัย dm หน่อยครับ.... หรือ clinicmember ที่เป็นเบาหวาน