BMS-HOSxP Community

HOSxP => Report Exchange => ข้อความที่เริ่มโดย: panus_t ที่ มิถุนายน 08, 2011, 11:53:59 AM

หัวข้อ: ขอคำสั่ง SQL เพื่อทำรายงานครับ
เริ่มหัวข้อโดย: panus_t ที่ มิถุนายน 08, 2011, 11:53:59 AM
ขอคำสั่ง SQL เพื่อทำรายงานครับ
นับจำนวนผู้ป่วย ที่ Admit ในแต่ละวัน ของ ward1 ตามช่วงวันที่เรากำหนด เช่น

4/7/2553     8
5/7/2553     8
6/7/2553     4
7/7/2553     9
8/7/2553     10

ขอบคุณครัีบ

ปล.เมื่อได้รายวันแล้ว ผมต้องนำไป Sum เป็นเดือน และเป็นปี ต่อไป  ขอคำสั่งที่ Sum เป็นเดือน เป็นปี ด้วยนะครับ

+++++++++++++++++++++ ;D ;D ;D ;D++++++++++++++++++++
หัวข้อ: Re: ขอคำสั่ง SQL เพื่อทำรายงานครับ
เริ่มหัวข้อโดย: dusit ที่ มิถุนายน 08, 2011, 12:50:12 PM
แบบนี้ใช้ได้ไหม แต่งเติมอีกนิดหน่อยครับ

select w.name,count(distinct(hn)) as cc from ipt i
left outer join ward w on(i.ward=w.ward)
 where regdate between "2011-05-01" and "2011-05-31" group by i.ward order by cc DESC
หัวข้อ: Re: ขอคำสั่ง SQL เพื่อทำรายงานครับ
เริ่มหัวข้อโดย: panus_t ที่ มิถุนายน 08, 2011, 13:16:56 PM
ขอบคุณครับ
แล้วถ้าต้องการออกเป็นรายวันแบบนี้ละครับ (มี 2 คอลัมน์)
 :D
1/5/2554     8
2/5/2554     9
3/5/2554     7
4/5/2554     4
5/5/2554     5
.
.
.

หัวข้อ: Re: ขอคำสั่ง SQL เพื่อทำรายงานครับ
เริ่มหัวข้อโดย: udomchok ที่ มิถุนายน 08, 2011, 13:49:03 PM
ขอคำสั่ง SQL เพื่อทำรายงานครับ
นับจำนวนผู้ป่วย ที่ Admit ในแต่ละวัน ของ ward1 ตามช่วงวันที่เรากำหนด เช่น

4/7/2553     8
5/7/2553     8
6/7/2553     4
7/7/2553     9
8/7/2553     10

ขอบคุณครัีบ

ปล.เมื่อได้รายวันแล้ว ผมต้องนำไป Sum เป็นเดือน และเป็นปี ต่อไป  ขอคำสั่งที่ Sum เป็นเดือน เป็นปี ด้วยนะครับ

+++++++++++++++++++++ ;D ;D ;D ;D++++++++++++++++++++
หมายถึง เฉพาะที่ Admit ใหม่ หรือที่นอนอยู่แล้ว หรือทั้งสองครับ
หัวข้อ: Re: ขอคำสั่ง SQL เพื่อทำรายงานครับ
เริ่มหัวข้อโดย: เกื้อกูล ครับ.. ที่ มิถุนายน 08, 2011, 14:28:22 PM
select w.name,i.regdate,count(distinct(hn)) as cc from ipt i
left outer join ward w on(i.ward=w.ward)
 where regdate between "2011-05-01" and "2011-05-31" group by w.ward, i.regdate order by cc DESC
หัวข้อ: Re: ขอคำสั่ง SQL เพื่อทำรายงานครับ
เริ่มหัวข้อโดย: Gusbel724 ที่ มิถุนายน 08, 2011, 15:10:15 PM
ท่านเกื้อรายการ มันช้ำกันไหมคะ ถ้าใช้ CODE  นี้
หัวข้อ: Re: ขอคำสั่ง SQL เพื่อทำรายงานครับ
เริ่มหัวข้อโดย: เกื้อกูล ครับ.. ที่ มิถุนายน 08, 2011, 15:31:48 PM
ลอง copy ไป รันใหม่ดูครับ..


select i.regdate,count(distinct(hn)) as cc from ipt i
left outer join ward w on(i.ward=w.ward)
 where regdate between "2011-05-01" and "2011-05-31" group by  i.regdate order by cc DESC


หรือแบบแยกตึก  แยกวัน ก็อันเดิมของโพสต์ ครับ..ดูดี ๆ อีกนิดนึง  ;)

select w.name,i.regdate,count(distinct(hn)) as cc from ipt i
left outer join ward w on(i.ward=w.ward)
 where regdate between "2011-05-01" and "2011-05-31" group by w.ward, i.regdate order by cc DESC
หัวข้อ: Re: ขอคำสั่ง SQL เพื่อทำรายงานครับ
เริ่มหัวข้อโดย: Gusbel724 ที่ มิถุนายน 08, 2011, 15:41:07 PM
ขอบพระคุณมากคร่า......ท่านอาจารย์
หัวข้อ: Re: ขอคำสั่ง SQL เพื่อทำรายงานครับ
เริ่มหัวข้อโดย: woravet ที่ มิถุนายน 08, 2011, 15:43:59 PM
1.รายวัน
select regdate,count(an) cc
from an_stat
where regdate between '2011-1-1' and '2011-1-31'
and ward='01'  //รหัสที่ต้องการ
group  by regdate
order by regdate

2.รายเดือน
select month(regdate) 'month',year(regdate) 'year',count(an) cc
from an_stat
where regdate between '2011-1-1' and '2011-12-31'
and ward='01'
group  by month,year
order by month,year

3.รายปี
select year(regdate) 'year',count(an) cc
from an_stat
where regdate between '2009-1-1' and '2011-12-31'
and ward='01'
group  by year
order by year
หัวข้อ: Re: ขอคำสั่ง SQL เพื่อทำรายงานครับ
เริ่มหัวข้อโดย: udomchok ที่ มิถุนายน 08, 2011, 15:50:34 PM
1.รายวัน
2.รายเดือน
3.รายปี
แบบนี้คือ เฉพาะรายที่ Admit ใหม่ในวัน/เดือน/ปี ตามช่วงเวลาที่กำหนด
หัวข้อ: Re: ขอคำสั่ง SQL เพื่อทำรายงานครับ
เริ่มหัวข้อโดย: redfireball ที่ มิถุนายน 08, 2011, 16:21:10 PM
น่าจะคล้ายๆ กท. นี้นะครับ ;D ;D  >> http://hosxp.net/index.php?option=com_smf&Itemid=28&topic=20722.msg177950#new
และ >> http://www.nkhosxp.com/viewtopic.php?f=6&t=376

ได้ อ.woravet มาช่วย query หายอดแต่ละวัน  ;) ;)

เลยจับมาใส่รายงานครับ  :) :) :)
หัวข้อ: Re: ขอคำสั่ง SQL เพื่อทำรายงานครับ
เริ่มหัวข้อโดย: ittipol ที่ มิถุนายน 08, 2011, 17:07:33 PM
เยี่ยมมากครับ
ขอบคุณครับ
หัวข้อ: Re: ขอคำสั่ง SQL เพื่อทำรายงานครับ
เริ่มหัวข้อโดย: nummon ที่ มิถุนายน 08, 2011, 17:46:37 PM
หมายถึง เฉพาะที่ Admit ใหม่ หรือที่นอนอยู่แล้ว หรือทั้งสองครับ

ถ้าหาที่นอนอยู่แล้ว
ปัญหาของตย. sql ข้างตัน(สำหรับรพ.ที่มีหลากward และมีการย้ายตึกย้ายเตียง)คือ
field ward ใน table ipt และ อื่นๆ คือ ward สุดท้ายที่ผู้ป่วย admit อยู่
ถ้ามีการย้ายตึก ยอดจะไม่ตรงกับความจริง ควรต้องใช้ข้อมูลใน iptbedmove ประกอบด้วย
ตย. ถ้ามา query ย้อนหลัง อาจไม่มีผู้ป่วย ICU (หรือมีก็น้อยมากเฉพาะที่ discharge ที่ ICU)
เพราะส่วนใหญ่จะย้ายออกไป ward ทั่วไป ก่อนdischarge

ถ้าเฉพาะ Admit ใหม่ จะมี field first_ward ใน table IPT ให้ใช้
หัวข้อ: Re: ขอคำสั่ง SQL เพื่อทำรายงานครับ
เริ่มหัวข้อโดย: vinaisena ที่ มิถุนายน 08, 2011, 17:58:06 PM
อย่างที่ รพ. มี 3 Unit,=NICU,LR,ICU
Ward อีก 9 ward มีการย้ายเข้า - ออก จาก สามัญ มาพิเศษ ฝาก อาจารย์พัฒนาต่อด้วยนะ ที่ทำมา ใช้ได้ดีนะครับ สุดยอดครับ