โปรแกรมบัญชีเกณพ์คงค้าง รพ.สต. สสจ.สุรินทร์ รายงานผู้บริหารด้านการเงิน รพ.สต.

คำสั่ง sql ครับ แสดงrecordตามจำนวนวันที่addmit ครับ เผื่อจะเอาไปประยุกต์ใช้ครับ


DateTime : 2011-09-23 10:46:47
Post By : decepticons
IP Address : 203.113.118.74

set @x:=0;
select
an,regdate
,DATE_ADD(regdate,interval AGE day) as curr_admit
,dayofweek((DATE_ADD(regdate,interval AGE day))) as as_day
,DATE_FORMAT(DATE_ADD(regdate,interval AGE day),"%W") as as_day_name
,dchdate,datediff(dchdate,regdate)as totle_date
,AGE

from  an_stat
join ( select (@x:=@x+1) as AGE from pttype )  as aa on AGE <(datediff(dchdate,regdate))
where   dchdate between "2010-01-01"  and "2010-12-31"
 order by an  ,age


Message !!

หากต้องการตอบกระทู้ Webboard กรุณาเข้าใช้ระบบก่อนนะค่ะ..


กระทู้ตอบกลับ

เยี่ยมมากเลย


Post โดย :  huwko Date: 2011-09-23 11:30:28 ip: 118.175.76.231

เอาไปใช้งานยังงัยครับอาจารย์ ลองแล้วใชังานไม่ได้ครับ

ขอตัวอย่างรายงานที่ใช้งานเลยครับ


Post โดย :  chinaga Date: 2011-09-23 11:30:57 ip: 113.53.239.82

สุดยอดจริงๆๆเลย แบบนี้ต้องจัดสักสองสามบทเพลงแล้ว


Post โดย :  optimus Date: 2011-09-23 13:55:42 ip: 203.113.116.117

set @x:=0;
select  an.an,regdate
,DATE_ADD(regdate,interval AGE day) as curr_admit
,dayofweek((DATE_ADD(regdate,interval AGE day))) as as_day
,DATE_FORMAT(DATE_ADD(regdate,interval AGE day),"%W") as as_day_name
,dchdate,datediff(dchdate,regdate)as totle_date ,AGE as xday,meal ,s.name as item_name

 from  an_stat an
join ( select (@x:=@x+1) as AGE from person limit 100 )  as aa on AGE <(datediff(dchdate,regdate))
left outer join ipt_food_menu  m on  an.an= m.an  and m.date_id = dayofweek(DATE_ADD(regdate,interval AGE day))
left outer join nutrition_items s on s.nutrition_items_id  =  m.nutrition_items_id
where   dchdate between "2011-08-01"  and "2011-08-01"

 order by an.an  ,age,meal

ตัวอย่างเอาไปจับกับตารางการสั่งอาหารครับ  แต่ยังประมวลผลช้าอยู่ครับ  เอาไปทดสอบความแรงของ server ท่านดูได้ 5555+    


Post โดย :  decepticons Date: 2011-09-23 14:58:58 ip: 203.113.118.74

แจ๋วจริงอาจารย์เตอร์

20 GB. คงพอไหวใช่ไหม อาจารย์ chinaga

55555


Post โดย :  wauy Date: 2011-09-30 23:49:12 ip: 122.154.140.34

ลองปรับใหม่แล้ว เร็วขึ้นหน่อยครับ

set @x:=-1;
select  DATE_ADD(regdate,interval AGE day) as curr_admit,DATE_FORMAT(DATE_ADD(regdate,interval AGE day),"%W") as as_day_name
,an.ward  as word ,w.name ,s.name as item_name
,count(if(meal=1,"brekfast",null))as brekfast
,count(if(meal=2,"lunch",null))as lunch
,count(if(meal=3,"dinner",null))as dinner
from  an_stat an
left outer join   ward w on w.ward=an.ward
left outer join ( select (@x:=@x+1) as AGE from person limit 100 )  as aa on AGE <=(datediff(dchdate,regdate))
left outer join ipt_food_menu  m on  an.an= m.an  and m.date_id = dayofweek(DATE_ADD(regdate,interval AGE day))
left outer join nutrition_items s on s.nutrition_items_id  =  m.nutrition_items_id
where   DATE_ADD(regdate,interval AGE day) between "2011-09-01"  and "2011-10-03"  and ( dchdate <>"" or dchdate is not null) and meal in ("1","2","3")
group by  curr_admit,word ,item_name
order by  curr_admit,word ,item_name
 


Post โดย :  decepticons Date: 2011-10-03 14:34:42 ip: 203.113.118.74

เอาไปวางตรงไหนครับ ยังใช้ไม่ได้เลยครับ


Post โดย :  chinaga Date: 2011-10-04 10:50:12 ip: 113.53.239.82

select a.hn,a.an,concat(p.pname,"",p.fname,"  ",p.lname) as ptname,
a.regdate,a.dchdate,a.lastvisit,a.age_y,a.pttype,pt.name,a.pdx,
i.name as pdxname
from an_stat a
left outer join patient p on p.hn=a.hn
left outer join pttype pt on pt.pttype=a.pttype
left outer join icd101 i on i.code=substring(a.pdx,1,3)
where a.dchdate between "2010-10-01" and "2011-09-30" and a.pdx='A09' and
a.lastvisit <=28


Post โดย :  wauy Date: 2012-02-14 18:32:47 ip: 223.27.226.185