ผู้เขียน หัวข้อ: SQL หาข้อมูลผู้รับบริการจิตเวชครับ  (อ่าน 3110 ครั้ง)

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

ออฟไลน์ Kang_BRJ

  • Newbie
  • *
  • กระทู้: 27
  • Respect: 0
    • ดูรายละเอียด
SQL หาข้อมูลผู้รับบริการจิตเวชครับ
« เมื่อ: มกราคม 22, 2014, 15:45:52 PM »
0
ต้องการข้อมูลผู้ที่มารับบริการคลินิกปรึกษา (จิตเวช)
แต่ลอง (หัด) เขียนดูแล้ว ยังได้ข้อมูลมาไม่ครบครับ

SELECT ovst.hn,ovst.vsttime,ovst.vstdate,ovst.spclty,
concat(patient.fname,' ',patient.lname) as patient_name, patient.birthday , spclty.name
FROM ovst
LEFT OUTER JOIN patient on patient.hn=ovst.hn
LEFT OUTER JOIN spclty on spclty.spclty=ovst.spclty
WHERE ovst.vstdate between '2013-12-26' and '2014-01-22'
AND ovst. spclty IN ( '09' )
ORDER BY patient_name

อยากได้อายุ, เลขประชาชน, Diag โรค และ ICD9+ICD10 ด้วย
ต้องเพิ่มอะไรตรงไหนบ้างครับ
« แก้ไขครั้งสุดท้าย: มกราคม 22, 2014, 15:57:18 PM โดย Kang_BRJ »
 

ออฟไลน์ asawincyber

  • Hero Member
  • *****
  • กระทู้: 1,011
  • สู้ต่อไป ทาเกชิ
  • Respect: 0
    • ดูรายละเอียด
    • http://www.okhospital.net
Re: SQL หาข้อมูลผู้รับบริการจิตเวชครับ
« ตอบกลับ #1 เมื่อ: มกราคม 22, 2014, 16:13:26 PM »
0
SELECT vn_stat.hn,vn_stat.vstdate,vn_stat.spclty,
concat(patient.fname,' ',patient.lname) as patient_name, patient.birthday , spclty.name,patient.cid,age_y,pdx ,i.name
FROM vn_stat
LEFT OUTER JOIN patient on patient.hn=vn_stat.hn
LEFT OUTER JOIN spclty on spclty.spclty=vn_stat.spclty
left outer join icd101 i on i.code=vn_stat.pdx
WHERE vn_stat.vstdate between '2013-12-26' and '2014-01-22'
AND vn_stat. spclty IN ( '09' )
ORDER BY patient_name


ตาราง vn_stat มี age_y เก็บไว้ และ pdx น่าจะหาง่ายกว่าครับ ผมเลยจับจากตาราง vn_stat แต่ทำให้ข้อมูล VSTTIME ไม่มี ถ้าต้องการก็ไป join กับ OVST อีกครั้ง
« แก้ไขครั้งสุดท้าย: มกราคม 22, 2014, 16:18:59 PM โดย asawincyber »
เสน่ห์  คงมูล (เอก)
โรงพยาบาลองครักษ์ อ.องครักษ์ จ.นครนายก
HOSxP  3.56.2.26  Activate License
Server : DELL T710 Xeon 5500 Ram 64Gb (16 X 4GB) 10600R Centos 5.5 64 bit MySQL 5.5.11 percona By อ.อ็อด
Server : IBM X3400 2.4 Ghz. Ram 4Gb. Centos 5.5 64 bit MySQL 5.5.11 percona By อ.อ็อด

ออฟไลน์ apatnon86

  • Sr. Member
  • ****
  • กระทู้: 410
  • Respect: 0
    • ดูรายละเอียด
Re: SQL หาข้อมูลผู้รับบริการจิตเวชครับ
« ตอบกลับ #2 เมื่อ: มกราคม 23, 2014, 11:00:41 AM »
0
select v.vstdate,o.vsttime,s.name,v.hn,concat(p.pname,p.fname,"  ",p.lname) as patient_name,
         p.cid,p.birthday,v.age_y,concat(v.pdx," : ",i.name) as pdx,v.dx0,v.dx1,v.dx2,v.dx3,v.dx4
from vn_stat v
        left outer join ovst o on v.vn=o.vn
        left outer join patient p on v.hn=p.hn
        left outer join spclty s on o.spclty=s.spclty
        left outer join icd101 i on v.pdx=i.code
where v.vstdate between "2013-12-26" and "2014-01-22"
          and o. spclty in ("09")
order by patient_name


มีข้อมูลออกหรือเปล่าครับ ถ้าไม่มีคงต้องจับจาก Diag แทน
« แก้ไขครั้งสุดท้าย: มกราคม 23, 2014, 11:04:26 AM โดย apatnon86 »
 

ออฟไลน์ Kang_BRJ

  • Newbie
  • *
  • กระทู้: 27
  • Respect: 0
    • ดูรายละเอียด
Re: SQL หาข้อมูลผู้รับบริการจิตเวชครับ
« ตอบกลับ #3 เมื่อ: มกราคม 23, 2014, 15:33:31 PM »
0
มีข้อมูลออกจาก SQL ทั้งสองตัวเลยครับ
เดี๋ยวเอาไปแกะแล้วเรียนรู้ต่อ

ขอบคุณมาก ๆ ครับ  :)