แสดงกระทู้

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - watchara_aof

หน้า: [1]
1
ผมต้องการ SQL แยกรายโรคของ ผู้ป่วยนอก และ ผู้ป่วยใน ที่มากายภาพอะครับ

เขียนแบบนี้ ไม่ทราบว่าถูกรึป่าวครับ รบกวนอาจารย์ช่วยหน่อยครับ
SELECT count(*) as cnt
      FROM ovstdiag od
      inner join physic_main pm on pm.vn=od.vn
              where YEAR(od.vstdate)='2014' and MONTH(od.vstdate)='07'

2
ช่วยดู SQL ผู้ป่วยซึมเศร้าที่เป็น Ht Dm ถูกรึเปล่าครับ
ผมเขียนแบบนี้ถูกรึป่าวครับ
SELECT
v.vn,
v.hn,
CONCAT(p.pname,' ',fname,' ',lname) AS ptname,
v.pdx,
v.dx0,
v.dx1,
v.dx2,
v.dx3,
v.dx4,
v.dx5,
v.spclty
FROM vn_stat v
LEFT OUTER JOIN patient p ON v.hn = p.hn
WHERE vstdate BETWEEN '2013-10-01' AND '2014-09-30'
and ((pdx BETWEEN "F320" and "F329")
or (dx0 >= "E10" and dx0 <= "E149")
or (dx1 >= "E10" and dx1 <= "E149")
or (dx2 >= "E10" and dx2 <= "E149")
or (dx3 >= "E10" and dx3 <= "E149")
or (dx4 >= "E10" and dx4 <= "E149")
or (dx5 >= "E10" and dx5 <= "E149"))
AND
 ((pdx BETWEEN "F320" and "F329")
or (v.dx0 between "I10" and "I159")
or (v.dx1 between "I10" and "I159")
or (v.dx2 between "I10" and "I159")
or (v.dx3 between "I10" and "I159")
or (v.dx4 between "I10" and "I159")
or (v.dx5 between "I10" and "I159"))

GROUP BY v.vn

ผลที่ได้คือ pdx มี dx อื่นๆ มาด้วยครับ

3
ผมอยากได้ SQL
 
ผู้ป่วยนัดมาฟอกไต

ผมเขียนแบบนี้ครับ

SELECT *
FROM oapp
WHERE nextdate = '2014-07-16' AND clinic = '060'

ไม่รู้ว่าถูกรึป่าวครับ

รบกวนอาจารย์หน่อยครับ

4
เอาง่ายๆก่อนนะครับ
ถ้าต้องการนับครั้ง ให้นับ vn เช่น SELECT count(vn)as cc FROM table_name
 
ถ้าต้องการนับคน ให้นับ hn โดยต้องตัดคนซ้ำ ใช้คำสั่ง DISTINCT เช่น SELECT count(DISTINCT hn)as cc FROM table_name

ผมลองให้เบื้องต้นดังนี้ครับ

นับคน
SELECT COUNT(DISTINCT od.hn)AS cc
FROM ovstdiag od
inner join physic_main pm on pm.vn=od.vn
WHERE YEAR(pm.vstdate)='2013' and MONTH(pm.vstdate)='10'
AND od.icd10 IN("รหัสโรค neumonia","รหัสโรค neumonia","รหัสโรค neumonia")


เช่น
SELECT COUNT(DISTINCT od.hn)AS cc
FROM ovstdiag od
inner join physic_main pm on pm.vn=od.vn
WHERE YEAR(pm.vstdate)='2013' and MONTH(pm.vstdate)='10'
AND od.icd10 IN("J120","J121","J122")




นับครั้ง
SELECT COUNT(od.vn)AS cc
FROM ovstdiag od
inner join physic_main pm on pm.vn=od.vn
WHERE YEAR(pm.vstdate)='2013' and MONTH(pm.vstdate)='10'
AND od.icd10 IN("รหัสโรค neumonia","รหัสโรค neumonia","รหัสโรค neumonia")


เช่น
SELECT COUNT(od.vn)AS cc
FROM ovstdiag od
inner join physic_main pm on pm.vn=od.vn
WHERE YEAR(pm.vstdate)='2013' and MONTH(pm.vstdate)='10'
AND od.icd10 IN("J120","J121","J122")


เป็นต้น ฮ่าๆ

ปล.อาจจะอธิบายเข้าใจยาก

ขอบคุณมากครับ ได้แนวทางแล้วครับ

5
รบกวนขอรายละเอียดมากกว่านี้ได้ไหมครับจะได้ช่วยถูก
 เช่นว่าต้องการรายงานยังไงรายละเอียดเงื่อนไขยังไงครับ

-คือ เค้าต้องการยอดครับ เช่น กลุ่ม C1 neumonia , M3 Lumbar syndromes มีกี่ครั้ง
-ผมให้ทางกายภาพแยกมาให้ว่า C1 neumonia มี icd10 อะไรบ้าง
-ผมก็ไปคิวรี่ แต่เค้าบอกว่ายอดที่ได้มันน้อยครับ

โค้ดประมาณนี้ครับ

SELECT mpd.physic_dx,count(*) as cnt
FROM ovstdiag od
inner join physic_main pm on pm.vn=od.vn
inner join mk_physic_dx mpd on mpd.icd10=od.icd10
left outer join  mk_physic_dx_name mpn on mpd.physic_dx = mpn.physic_dx_id
WHERE YEAR(pm.vstdate)='2013' and MONTH(pm.vstdate)='10'
GROUP BY mpd.physic_dx

ผมสร้างตาราง mk_physic_dx_name ขึ้นมาเพื่อเก็บว่า C1 neumonia มีicd10 อะไรบ้างครับ
ปล.ไม่รู้ว่าผมอธิบาย พอเข้าใจรึป่าวครับ รบกวน อาจารย์ช่วยหน่อยนะครับ

6
ทาง กายภาพ ต้องการให้ผมดึงรายงาน เช่น M2 มีกี่ diag M3 มีเท่าไหร่ ผมเริ่มไม่ถูกครับ

รบกวน อาจารย์หลายๆท่าน ช่วยหน่อยครับ :)

หน้า: [1]