ผู้เขียน หัวข้อ: ฝากดูคำสั่งคิวรี่ให้หน่อยถูกหรือเปล่าครับ  (อ่าน 11589 ครั้ง)

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

ออฟไลน์ snhos

  • Sr. Member
  • ****
  • กระทู้: 373
  • ฉันยังรู้สึกว่าตัวเองยังเด็กในการทำงานและความรู้
  • Respect: +3
    • ดูรายละเอียด
คือผมต้องการ หาคนไข้ที่ต้องเป็นทั้งเบาหวาน  และความดัน 
1.
select o1.hn from ovstdiag o1 join   ovstdiag o2 on o2.hn=o1.hn
where o1.icd10  in('E100','E101','E102','E103','E104','E105','E106','E107','E108','E109',
'E110','E111','E112','E113','E114','E115','E116','E117','E118','E119')
and o2.icd10='I10'   group by o1.hn

2.
SELECT hn
FROM (SELECT hn FROM ovstdiag where icd10  in('E100','E101','E102','E103','E104','E105','E106','E107','E108','E109',
'E110','E111','E112','E113','E114','E115','E116','E117','E118','E119')

union all     SELECT hn FROM ovstdiag where icd10='I10') ovstdiag
GROUP BY hn
HAVING COUNT(*)>1

อันไหนถูก  และควรจะใช้อันไหน
ขอบคุณครับ
โรงพยาบาลไทรน้อย นนทบุรี 60 เตียง
เริ่มระบบ 2551 ขอบคุณอาจารย์หมาน้อย คุณหนุ่ม (รพ.ปากเกร็ด),อ.อ๊อด อ.นาจ และท่านปราชญ์ทุกท่าน ผู้เป็นอาจารย์และคนช่วยเหลือ
Master:IBM Xeon QuardCore X3650 M2 CPU 2.0 ram 28 g
OS:CentOS 6.4
Percona:5.5.33  
hosxp:3.56.9.30

Slave:IBM Xeon QuardCore E5405 CPU 2.0 ram 6 g
OS:CentOS 6.4
Percona:5.5.33  
hosxp:3.56.9.30

LIS LAB
Pfsense Log

ออฟไลน์ redfireball

  • Full Member
  • ***
  • กระทู้: 219
  • คุณแม่ขอร้อง..ร้อง....
  • Respect: +4
    • ดูรายละเอียด
Re: ฝากดูคำสั่งคิวรี่ให้หน่อยถูกหรือเปล่าครับ
« ตอบกลับ #1 เมื่อ: กันยายน 28, 2009, 15:24:09 PM »
0
select distinct o1.hn
from ovstdiag o1 join   ovstdiag o2 on o2.hn=o1.hn
where
o1.hn in
(
select distinct o4.hn
from ovstdiag o4 join ovstdiag o5 on o4.hn=o5.hn
where o5.icd10='I10'
)
and o1.icd10  in('E100','E101','E102','E103','E104','E105','E106','E107','E108','E109',
'E110','E111','E112','E113','E114','E115','E116','E117','E118','E119')
ประมาณนี้เปล่าครับ  ??? ???
โรงพยาบาลสังคม
SANGKHOM HOSPITAL
30 เตียง อ.สังคม จ.หนองคาย
http://www.sangkhomhospital.com
ขึ้นระบบ 5 ธ.ค. 51

ออฟไลน์ pop_hosxp

  • Hero Member
  • *****
  • กระทู้: 3,129
  • Respect: +38
    • ดูรายละเอียด
    • Phanomphrai Hospital
Re: ฝากดูคำสั่งคิวรี่ให้หน่อยถูกหรือเปล่าครับ
« ตอบกลับ #2 เมื่อ: กันยายน 28, 2009, 15:38:09 PM »
0
ขอลองส่งเข้าประกวดครับ ไม่รู้ถูกหรือเปล่า ;D ;D ;D

select distinct hn from vn_stat where (pdx like "E1%" and dx0="I10") or (pdx="I10" and dx0 like "E1%")
pop434241@gmail.com
รพ.พนมไพร จ.ร้อยเอ็ด www.phanomphrai.net

ออฟไลน์ snhos

  • Sr. Member
  • ****
  • กระทู้: 373
  • ฉันยังรู้สึกว่าตัวเองยังเด็กในการทำงานและความรู้
  • Respect: +3
    • ดูรายละเอียด
Re: ฝากดูคำสั่งคิวรี่ให้หน่อยถูกหรือเปล่าครับ
« ตอบกลับ #3 เมื่อ: กันยายน 28, 2009, 15:42:01 PM »
0
mysql  มันมีคำสั่ง  เกี่ยวกับการ intersec ได้ไหมครับ
โรงพยาบาลไทรน้อย นนทบุรี 60 เตียง
เริ่มระบบ 2551 ขอบคุณอาจารย์หมาน้อย คุณหนุ่ม (รพ.ปากเกร็ด),อ.อ๊อด อ.นาจ และท่านปราชญ์ทุกท่าน ผู้เป็นอาจารย์และคนช่วยเหลือ
Master:IBM Xeon QuardCore X3650 M2 CPU 2.0 ram 28 g
OS:CentOS 6.4
Percona:5.5.33  
hosxp:3.56.9.30

Slave:IBM Xeon QuardCore E5405 CPU 2.0 ram 6 g
OS:CentOS 6.4
Percona:5.5.33  
hosxp:3.56.9.30

LIS LAB
Pfsense Log

ออฟไลน์ woravet

  • Sr. Member
  • ****
  • กระทู้: 409
  • Respect: +12
    • ดูรายละเอียด
Re: ฝากดูคำสั่งคิวรี่ให้หน่อยถูกหรือเปล่าครับ
« ตอบกลับ #4 เมื่อ: กันยายน 28, 2009, 16:09:22 PM »
0
select p.hn,p.pname,p.fname,p.lname
,o1.icd10 as 'dm'
,o2.icd10 as 'ht'
,min(o1.vstdate) as firstdate
,max(o1.vstdate) as lastdate
from patient p
left join ovstdiag o1 on o1.hn=p.hn
left join ovstdiag o2 on o1.vn=o2.vn
where o1.icd10 between 'e10' and 'e1499'
and o2.icd10 between 'i10' and 'i1599'
and o1.vstdate between '2008-10-1' and '2009-9-30'
group by p.hn
order by p.hn
ประมาณนี้
รพ.บึงสามัคคี จ.กำแพงเพชร
*********************
อ.สุชัยและคณะ ขึ้นระบบ 29 ตค.49(Linux+Fedara 5)
*********************
ปัจจุบัน
HOSxP version 3.53.4.27
Server:Windows XP SP2,MySQL 5
Client ประมาณ 15 เครื่อง

ออฟไลน์ snhos

  • Sr. Member
  • ****
  • กระทู้: 373
  • ฉันยังรู้สึกว่าตัวเองยังเด็กในการทำงานและความรู้
  • Respect: +3
    • ดูรายละเอียด
Re: ฝากดูคำสั่งคิวรี่ให้หน่อยถูกหรือเปล่าครับ
« ตอบกลับ #5 เมื่อ: กันยายน 29, 2009, 08:44:35 AM »
0
ขอบคุณ  คุณ woravet มากคำสั่งใช้ได้ดีที่เดี่ยว  ผมได้ไปปรับแก้  ตรง
o1.vn=o2.vn
เป็น
o2.hn=p.hn
เหตุผลก็เพราะว่า  คนที่เป็นเบาหวานและความดัน  ไม่จำต้องถูกลงวินิจฉัยในวันเดียวกัน หรือใน visit เดี่ยวกัน
เช่น  เมื่อเดือนที่แล้วมาตรวจแพทย์ลงวินิจฉัย  เป็น เบาหวานอย่างเดียว
พอมาตรวจอีกเดือนถัดมาแพทย์ลงวินิจฉัย  เป็น ความดันอย่างเดียว 
ก็ให้สรุปว่าคนนี้เป็นทั้งเบาหวานและความดันครับ
ขอบคุณทุกท่านครับ
โรงพยาบาลไทรน้อย นนทบุรี 60 เตียง
เริ่มระบบ 2551 ขอบคุณอาจารย์หมาน้อย คุณหนุ่ม (รพ.ปากเกร็ด),อ.อ๊อด อ.นาจ และท่านปราชญ์ทุกท่าน ผู้เป็นอาจารย์และคนช่วยเหลือ
Master:IBM Xeon QuardCore X3650 M2 CPU 2.0 ram 28 g
OS:CentOS 6.4
Percona:5.5.33  
hosxp:3.56.9.30

Slave:IBM Xeon QuardCore E5405 CPU 2.0 ram 6 g
OS:CentOS 6.4
Percona:5.5.33  
hosxp:3.56.9.30

LIS LAB
Pfsense Log

ออฟไลน์ snhos

  • Sr. Member
  • ****
  • กระทู้: 373
  • ฉันยังรู้สึกว่าตัวเองยังเด็กในการทำงานและความรู้
  • Respect: +3
    • ดูรายละเอียด
Re: ฝากดูคำสั่งคิวรี่ให้หน่อยถูกหรือเปล่าครับ
« ตอบกลับ #6 เมื่อ: กันยายน 29, 2009, 09:10:33 AM »
0
เพิ่มเติมครับ  ไปแก้มาสด ๆ
เพื่อต้องการให้ทราบวันแรกของกัน วินิจฉัยโรคนั้น ๆ ด้วยครับ
select p.hn,p.pname,p.fname,p.lname
,o1.icd10 as 'dm'
,o2.icd10 as 'ht'
,min(o1.vstdate) as date_dm
,min(o2.vstdate) as date_ht
from patient p
 left outer join ovstdiag o1 on o1.hn=p.hn
left outer join ovstdiag o2 on o2.hn=o1.hn
where o1.icd10 between 'e100' and 'e119'
and o2.icd10 between 'i10' and 'i10'
and o1.vstdate between '2008-06-01' and '2008-09-30'
and o2.vstdate between '2008-06-01' and '2008-09-30'

group by p.hn
order by  o1.vstdate
โรงพยาบาลไทรน้อย นนทบุรี 60 เตียง
เริ่มระบบ 2551 ขอบคุณอาจารย์หมาน้อย คุณหนุ่ม (รพ.ปากเกร็ด),อ.อ๊อด อ.นาจ และท่านปราชญ์ทุกท่าน ผู้เป็นอาจารย์และคนช่วยเหลือ
Master:IBM Xeon QuardCore X3650 M2 CPU 2.0 ram 28 g
OS:CentOS 6.4
Percona:5.5.33  
hosxp:3.56.9.30

Slave:IBM Xeon QuardCore E5405 CPU 2.0 ram 6 g
OS:CentOS 6.4
Percona:5.5.33  
hosxp:3.56.9.30

LIS LAB
Pfsense Log