ผู้เขียน หัวข้อ: รบกวนแนะนำวิธีการเขียนรายงานให้หน่อยคับ  (อ่าน 3806 ครั้ง)

0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

ออฟไลน์ naydekdee

  • Hero Member
  • *****
  • กระทู้: 704
  • naydekdee
  • Respect: +1
    • ดูรายละเอียด
รายงานความดันเบาหวานแทรกซ้อน  จำแนกอายุ แต่ว่า ด้วยความถนัดผมจะเขียนผ่าน variable  ซึ่งรายงานตัวนี้เยอะ มาก เลยคับ  หากว่า เขียนผ่าน variable  จะมีประมาณ  363  variable  จึงขอคตำแนะนำวิธีการเขียนที่ไม่ต้องอาศัย  variable  น่ะคับ   พอมีวิธีไหมคับ   ใครมี ช่วยแนะนำหน่อยอ่ะคับ 
   
   ผมหาในบอร์ดแล้ว  แต่ว่าส่วนใหญ่จะเขียนผ่าน  variable   จึงอยากรู้ วิธีการเขียนแนวอื่นๆ บ้าง เผื่อจะประหยัดเวลาในการ query  ข้อมูล ได้บ้าง คับ   


ขอบคุณนะคับ
ปล  แนบตัวอย่างแบบรายงานให้น่ะคับ   
UP systems on Hospital  2010-03-01
(นายเด็กดี)  รพช.บางกระทุ่ม พิษณุโลก
Structure Version  HOSxP 3.61.9.25b

ออฟไลน์ เกื้อกูล ครับ..

  • Hero Member
  • *****
  • กระทู้: 12,611
  • Respect: +169
    • ดูรายละเอียด
    • โรงพยาบาลปากท่อ
Re: รบกวนแนะนำวิธีการเขียนรายงานให้หน่อยคับ
« ตอบกลับ #1 เมื่อ: สิงหาคม 17, 2011, 13:08:34 PM »
0
ปรึกษา..เจมส์..นครศรีธรรมราชครับ... :D ;D ;D
Implement  HOSxP  Start 2548 ---> NOW!
Station : 140 Client   V.3 Version  3.67.7.8
Server  : CENTOS 7 +MySQL maria 10.x.x

ออฟไลน์ woravet

  • Sr. Member
  • ****
  • กระทู้: 414
  • Respect: +12
    • ดูรายละเอียด
Re: รบกวนแนะนำวิธีการเขียนรายงานให้หน่อยคับ
« ตอบกลับ #2 เมื่อ: สิงหาคม 17, 2011, 16:22:28 PM »
0
ประมาณนี้มั๊ย
set @mclinic:=001;
select m.*,a.*
from (select 0 as 'cormobidity','ไม่มีภาวะแทรกซ้อน' as  'name'
union select cormobidity,name from clinic_cormobidity where clinic=@mclinic) m
left join (select cormobidity
,sum(if(sex='1' and age<40,1,0)) 'Male_less_40'
,sum(if(sex='1' and age between 40 and 49,1,0)) 'Male_40'
,sum(if(sex='1' and age between 50 and 60,1,0)) 'Male_50'
,sum(if(sex='1' and age>=60,1,0)) 'Male_more_60'
,sum(if(sex='2' and age<40,1,0)) 'FeMale_less_40'
,sum(if(sex='2' and age between 40 and 49,1,0)) 'FeMale_40'
,sum(if(sex='2' and age between 50 and 60,1,0)) 'FeMale_50'
,sum(if(sex='2' and age>=60,1,0)) 'FeMale_more_60'
from (select c.hn,ifnull(cc.cormobidity,0) cormobidity
,p.sex,timestampdiff(year,p.birthday,now()) age
from clinicmember c
left join patient p on p.hn=c.hn
left join clinic_cormobidity_list cc on c.hn=cc.hn and cc.clinic=@mclinic
where c.clinic=@mclinic
order by c.hn,cormobidity) a
group by cormobidity) a on a.cormobidity=m.cormobidity
*****
แต่น่าจะไปผิดตรงผลรวม
เพราะบางครั้งมีภาวะแทรกซ้อนมากกว่า 1 อย่าง
เช่น DM แล้วแทรกซ้อน ตา กับ ไต นับกันอย่างไร
ต้องหาวิธีการนับกันก่อน
รพ.บึงสามัคคี จ.กำแพงเพชร
*********************
อ.สุชัยและคณะ ขึ้นระบบ 29 ตค.49(Linux+Fedara 5)
*********************
ปัจจุบัน
HOSxP version 3.53.4.27
Server:Windows XP SP2,MySQL 5
Client ประมาณ 15 เครื่อง

ออฟไลน์ Gusbel724

  • Sr. Member
  • ****
  • กระทู้: 347
  • Respect: 0
    • ดูรายละเอียด
Re: รบกวนแนะนำวิธีการเขียนรายงานให้หน่อยคับ
« ตอบกลับ #3 เมื่อ: สิงหาคม 17, 2011, 16:24:26 PM »
0
ปรึกษา..เจมส์..นครศรีธรรมราชครับ... :D ;D ;D
  ถูกต้องแล้ว  หาเจอได้ที่ Hosxp ON FACEBOOK นะคะ 
นส.สุรารักษ์ บูรณะ  นวก.คอมพิวเตอร์
โรงพยาบาลอินทร์บุรี โรงพยาบาลทั่วไป
 ขนาด 218 เตียง จ.สิงห์บุรี
 SEVER  HP MySQL 5.1.30X   
 HOSXP V. 3.56.2.26

** การขึ้นระบบโดยอาจารย์ชัยพร ปี 2547