BMS-HOSxP Community
HOSxP => แจ้งปัญหา / ขอความช่วยเหลือ => ข้อความที่เริ่มโดย: Auing ที่ ธันวาคม 14, 2009, 09:23:57 AM
-
พอดีมีพี่ท่านมาขอรายงาน "คนไข้ Diag F ทั้งหมดและต้องการยาที่ใช้ด้วยกำหนดภายในช่วงวันเวลาดังกล่าว "
SQL ผมได้ประมาณนี้แต่เวลาไป Run ข้อมูลออกมาทั้งหมดเลยครับไม่รู้ว่าผม join อะไรผิดหรือเปล่าอาจารย์ทั้งหลายชี้แนะด้วยครับ
select distinct p.hn,p.cid,concat(p.pname,p.fname,' ',p.lname),v.age_y,v.age_m,p.informaddr,o.icd10,o.icd103,o.vstdate,
concat(s.name,' ',s.strength,' ',s.units) as namedrug
from patient p
left outer join ovstdiag o on p.hn = o.hn
left outer join vn_stat v on p.hn = v.hn
left outer join opitemrece m1 on m1.vn= v.vn
left outer join an_stat a on a.an=m1.an
left outer join s_drugitems s on s.icode=m1.icode
left outer join drugusage d on d.drugusage=m1.drugusage
left outer join drugitems i on i.icode=m1.icode
where icd10 between 'F00' and 'F99' and v.vstdate between '2008-10-01' and '2009-09-30'
-
:D ลองดูครับ ไม่รู้ว่าถูกตามความต้องการหรือเปล่า
select p.hn,p.cid,concat(p.pname,p.fname,' ',p.lname),v.age_y,v.age_m,p.informaddr,o.icd10,o.icd103,o.vstdate,
concat(s.name,' ',s.strength,' ',s.units) as namedrug
from patient p
left outer join ovstdiag o on p.hn = o.hn
left outer join vn_stat v on p.hn = v.hn
left outer join opitemrece m1 on m1.vn= v.vn
left outer join an_stat a on a.an=m1.an
left outer join s_drugitems s on s.icode=m1.icode
left outer join drugusage d on d.drugusage=m1.drugusage
left outer join drugitems i on i.icode=m1.icode
where v.pdx between 'F00' and 'F99' and (v.vstdate between '2008-10-01' and '2009-09-30' )
group by p.hn
และอีกแบบ
select distinct p.hn,p.cid,concat(p.pname,p.fname,' ',p.lname),v.age_y,v.age_m,p.informaddr,o.icd10,o.icd103,o.vstdate,
concat(s.name,' ',s.strength,' ',s.units) as namedrug
from patient p
left outer join ovstdiag o on p.hn = o.hn
left outer join vn_stat v on p.hn = v.hn
left outer join opitemrece m1 on m1.vn= v.vn
left outer join an_stat a on a.an=m1.an
left outer join s_drugitems s on s.icode=m1.icode
left outer join drugusage d on d.drugusage=m1.drugusage
left outer join drugitems i on i.icode=m1.icode
where v.pdx between 'F00' and 'F99' and (v.vstdate between '2008-10-01' and '2009-09-30' )
-
ตามนี้ครับ
select distinct p.hn,p.cid,concat(p.pname,p.fname,' ',p.lname),v.age_y,v.age_m,p.informaddr,o.icd10,o.icd103,o.vstdate,
concat(s.name,' ',s.strength,' ',s.units) as namedrug
from patient p
left outer join ovstdiag o on p.hn = o.hn
left outer join vn_stat v on p.hn = v.hn
left outer join opitemrece m1 on m1.vn= v.vn
left outer join an_stat a on a.an=m1.an
left outer join s_drugitems s on s.icode=m1.icode
left outer join drugusage d on d.drugusage=m1.drugusage
left outer join drugitems i on i.icode=m1.icode
where icd10 between 'F00' and 'F99' and o.vstdate between '2008-10-01' and '2009-09-30'
เยี่ยมมากครับ เกือบถูกแล้วครับผม ;D :D ;) :D ;D
ตอบไม่ทัน อ.Terminator2009 เลยครับ มัวแต่ลองอยู่
-
ขอบคุณอาจารย์ทั้ง 2 ท่านครับ .... ??? ??? ??? ??? ภูเขาบังปลายผมจริงๆๆ ;D ;D ;)