ผู้เขียน หัวข้อ: รบกวนถามเซียน SQL ด้วยครับ  (อ่าน 5480 ครั้ง)

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

ออฟไลน์ Guitar-hero

  • Hero Member
  • *****
  • กระทู้: 605
  • Respect: 0
    • ดูรายละเอียด
    • โรงพยาบาลละแม,รพ.ละแม
รบกวนถามเซียน SQL ด้วยครับ
« เมื่อ: ธันวาคม 13, 2013, 09:03:47 AM »
0
คือผมเขียน SQL แปรผล ค่าแลป GFR  แต่ติดอยู่นิดนึงครับ ว่าในคนไข้บางคนมีการตรวจ GFR ในเดือนนั้นมากกว่า 1 ครั้ง โดยผมต้องการแสดงข้อมูลผล GFR โดยมีเงื่อนไขอยู่ว่า ให้แสดงผล GFR เป็นรายคน ไม่ใช่รายครั้ง และต้องเป็น การตรวจ lab GFR ครั้งล่าสุด ผมติดอยู่ตรงที่ดึงข้อมูลการตรวจ ครั้งล่าสุด อ่ะครับ รบกวนท่านผู้รู้แนะนำหน่อยครับ
นี่คือ SQL ที่ผมเขียนครับ

select

lh.lab_order_number,lh.vn,lh.hn,lh.order_date,lh.report_date,lh.department    ,
cl.clinic,cl.other_chronic_text   ,lo.lab_items_code, lo.lab_order_result,
concat(pt.pname,pt.fname,'  ',pt.lname) as pt_name,

(
    SELECT CASE
      WHEN (lo.lab_order_result >=90) THEN '1'
      WHEN (lo.lab_order_result >=60 AND lo.lab_order_result <=89.99) THEN '2'
      WHEN (lo.lab_order_result >=30 AND lo.lab_order_result <=59.99) THEN '3A'
      WHEN (lo.lab_order_result >=15 AND lo.lab_order_result <=29.99) THEN '4'
      ELSE '5' END
     
) AS lab_order_result_report


from lab_head lh

left outer join clinicmember cl on cl.hn = lh.hn
left outer join lab_order lo on lo.lab_order_number = lh.lab_order_number
left outer join patient pt on pt.hn = lh.hn
where lh.report_date between "2013-10-01" and "2013-10-31"  and

cl.clinic="001"   and cl.clinic_member_status_id="3"

and lo.lab_items_code="3248"     GROUP BY lh.hn

จีระยุทธ ปิ่นสุวรรณ นักวิชาการคอมพิวเตอร์(พนักงานราชการ)
รพช.ละแม จ.ชุมพร
MASTER: HP Proliant Dl160 gen10
SLAVE: Dell PowerEdge T610 Quad core Intel 3.0G Ram 8GB Centos 5.9+Mysql 5.5

ออฟไลน์ woravet

  • Sr. Member
  • ****
  • กระทู้: 409
  • Respect: +12
    • ดูรายละเอียด
Re: รบกวนถามเซียน SQL ด้วยครับ
« ตอบกลับ #1 เมื่อ: ธันวาคม 13, 2013, 10:06:18 AM »
0
select a.*,concat(pt.pname,pt.fname,' ',pt.lname) ptname
,s.vstdate,s.creatinine,s.egfr
,if (egfr>=90,'1'
,if (egfr>=60,'2'
,if (egfr>=30,'3'
,if (egfr>=15,'4'
,if (egfr>0,'5',''))))) stage
from (select max(s.vn) vn,c.hn
from clinicmember c
left join opdscreen s on c.hn=s.hn
where s.vstdate between '2013-10-01' and '2013-12-31'
and c.clinic=001 
and c.clinic_member_status_id=1
and s.creatinine>0
group by c.hn) a
left join patient pt on pt.hn=a.hn
left join opdscreen s on a.vn=s.vn

ถ้าเอาผล creatinine จาก opdscreen หล่ะ
รพ.บึงสามัคคี จ.กำแพงเพชร
*********************
อ.สุชัยและคณะ ขึ้นระบบ 29 ตค.49(Linux+Fedara 5)
*********************
ปัจจุบัน
HOSxP version 3.53.4.27
Server:Windows XP SP2,MySQL 5
Client ประมาณ 15 เครื่อง

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

  • Hero Member
  • *****
  • กระทู้: 12,611
  • Respect: +169
    • ดูรายละเอียด
    • โรงพยาบาลปากท่อ
Re: รบกวนถามเซียน SQL ด้วยครับ
« ตอบกลับ #2 เมื่อ: ธันวาคม 13, 2013, 11:07:16 AM »
0
ตาราง ovst_gfr  ก็น่าสนใจนะครับ


select * from ovst_gfr  join ด้วย vn จาก opdscreen หรือ hn เฉพาะที่เป็นเบาหวานหรือความดัน ไม่น่าจะนำมาจากทุก HN ครับ  เน้นตารางนี้เพราะมีแค่เรื่อง ของ Creatinin,CKD-EPI, eGFR
Implement  HOSxP  Start 2548 ---> NOW!
Station : 130 Client   V.3 Version  3.67.1.XX
Server  : CENTOS  +MySQL maria 10.x.x

ออฟไลน์ Guitar-hero

  • Hero Member
  • *****
  • กระทู้: 605
  • Respect: 0
    • ดูรายละเอียด
    • โรงพยาบาลละแม,รพ.ละแม
Re: รบกวนถามเซียน SQL ด้วยครับ
« ตอบกลับ #3 เมื่อ: ธันวาคม 13, 2013, 11:19:03 AM »
0
เยี่ยมเลยครับ อ.เกื้อ
จีระยุทธ ปิ่นสุวรรณ นักวิชาการคอมพิวเตอร์(พนักงานราชการ)
รพช.ละแม จ.ชุมพร
MASTER: HP Proliant Dl160 gen10
SLAVE: Dell PowerEdge T610 Quad core Intel 3.0G Ram 8GB Centos 5.9+Mysql 5.5

ออฟไลน์ jassada

  • Sr. Member
  • ****
  • กระทู้: 379
  • Respect: 0
    • ดูรายละเอียด
    • โรงพยาบาลปากพนัง
Re: รบกวนถามเซียน SQL ด้วยครับ
« ตอบกลับ #4 เมื่อ: มีนาคม 19, 2014, 12:09:29 PM »
0
ทำยังไงให้มีข้อมูลในตาราง ovst_gfr นี้ครับ
Pakphanang Hospital
Server Master : HP  Xeon 2.13 GHz Ram 32 Gb  Centos 6.2 64 bit  (Mysql 5.5.31-30.3  64 bit)
Server Slave : Acer  Xeon 3.0x2 GHz Ram 6 Gb  Centos 4.8 64 bit  (Mysql 5.1.42 percona xtradb 64 bit)

DB : 3.56.4.22
Cliant :  Hosxp 3.56.1.15
Activation @ 02-01-56

ออฟไลน์ Sukjai

  • Hero Member
  • *****
  • กระทู้: 984
  • Facebook : Sukjai Krub
  • Respect: +673
    • ดูรายละเอียด
    • Share Tips HOSxP
Re: รบกวนถามเซียน SQL ด้วยครับ
« ตอบกลับ #5 เมื่อ: มีนาคม 19, 2014, 12:23:08 PM »
0
ทำยังไงให้มีข้อมูลในตาราง ovst_gfr นี้ครับ

------------------------------

น่าจะต้องมีการเปิด popup gfr ให้แสดง หรือทำงาน ก่อนครับ ข้อมูลถึงจะถูกบันทึกลงในตาราง ovst_gfr

http://hosxp.net/index.php?option=com_smf&Itemid=28&topic=29226.msg244230#msg244230

ออฟไลน์ wizardevill

  • Newbie
  • *
  • กระทู้: 27
  • Respect: 0
    • ดูรายละเอียด
Re: รบกวนถามเซียน SQL ด้วยครับ
« ตอบกลับ #6 เมื่อ: มีนาคม 19, 2014, 16:13:08 PM »
0
max(lh.order_date) เอา lh.vn ออก ก็น่าจะได้ครั้งล่าสุดแล้วนะครับ