BMS-HOSxP Community

HOSxP => แจ้งปัญหา / ขอความช่วยเหลือ => ข้อความที่เริ่มโดย: Auing ที่ ธันวาคม 14, 2009, 09:23:57 AM

หัวข้อ: ใช้ between แล้วข้อมูลก็ยังออกมาทั้งหมด
เริ่มหัวข้อโดย: 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'





หัวข้อ: Re: ใช้ between แล้วข้อมูลก็ยังออกมาทั้งหมด
เริ่มหัวข้อโดย: Terminator2015 ที่ ธันวาคม 14, 2009, 09:59:39 AM
 :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' )
หัวข้อ: Re: ใช้ between แล้วข้อมูลก็ยังออกมาทั้งหมด
เริ่มหัวข้อโดย: thannawe ที่ ธันวาคม 14, 2009, 10:01:15 AM
ตามนี้ครับ

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 เลยครับ มัวแต่ลองอยู่
หัวข้อ: Re: ใช้ between แล้วข้อมูลก็ยังออกมาทั้งหมด
เริ่มหัวข้อโดย: Auing ที่ ธันวาคม 14, 2009, 10:13:41 AM
ขอบคุณอาจารย์ทั้ง 2 ท่านครับ  .... ??? ??? ??? ???   ภูเขาบังปลายผมจริงๆๆ     ;D ;D ;)