BMS-HOSxP Community

HOSxP => แจ้งปัญหา / ขอความช่วยเหลือ => ข้อความที่เริ่มโดย: that panom ที่ มีนาคม 02, 2007, 03:28:04 AM

หัวข้อ: เขียน code ดึงรายงานแล้วข้อมูลไม่ครบถ้วน
เริ่มหัวข้อโดย: that panom ที่ มีนาคม 02, 2007, 03:28:04 AM
เขียน code ดึงรายงานผู้ป่วยที่ใช้ยา diazepam 2 mg จากตางราง opitemreceแล้ว ข้อมูลไม่ครบถ้วน เมื่อเปรียบเทียบการใช้ Custom serch ในการค้น ไม่แน่ใจว่าผมผมเขียนคำสั่งไม่ครบถ้วนหรือคลาดเคลื่อนหรือเปล่า ช่วยแนะนำด้วยครับ
หัวข้อ: Re: เขียน code ดึงรายงานแล้วข้อมูลไม่ครบถ้วน
เริ่มหัวข้อโดย: that panom ที่ มีนาคม 02, 2007, 03:50:18 AM
เอา โค้ด ที่เขียนมาให้ดูด้วยครับ
select
concat(pt.pname,pt.fname,"  ",pt.lname) as fullname,
concat(pt.addrpart," หมู่ ",pt.moopart," ต.",t3.name," อ.",t2.name," จ.",t1.name) as fulladdressname,
op.an,icode,qty,year(rxdate)-year(birthday) as age,rxdate,order_no,cid
from ovst ov
left outer join patient pt on pt.hn=ov.hn
left outer join thaiaddress t1 on t1.chwpart=pt.chwpart and
     t1.amppart="00" and t1.tmbpart="00"
left outer join thaiaddress t2 on t2.chwpart=pt.chwpart and
     t2.amppart=pt.amppart and t2.tmbpart="00"
left outer join thaiaddress t3 on t3.chwpart=pt.chwpart and
     t3.amppart=pt.amppart and t3.tmbpart=pt.tmbpart
left outer join opitemrece op on op.hn=ov.hn
where op.rxdate between "2007-02-01" and "2007-02-28"  and op. icode ="1480756"
group by order_no
order by rxdate

หัวข้อ: Re: เขียน code ดึงรายงานแล้วข้อมูลไม่ครบถ้วน
เริ่มหัวข้อโดย: naj ที่ มีนาคม 02, 2007, 04:08:52 AM
ลองใช้ variable ช่วยในการทำรายงานซิครับ เนื่องการใช left join กันหลายๆตารางโอกาสที่รายงานผิดพลาดมีสูงครับ ถ้าไม่ตรวจสอบคำสั่งให้ดีก่อน :D
หัวข้อ: Re: เขียน code ดึงรายงานแล้วข้อมูลไม่ครบถ้วน
เริ่มหัวข้อโดย: doramon ที่ มีนาคม 02, 2007, 04:18:06 AM
ตารางหลักที่จะใช้น่าจะเป็น opitemrec เป็นหลักครับ

select
concat(pt.pname,pt.fname,"  ",pt.lname) as fullname,
concat(pt.addrpart," หมู่ ",pt.moopart," ต.",t3.name," อ.",t2.name," จ.",t1.name) as fulladdressname,
op.an,icode,qty,year(rxdate)-year(birthday) as age,rxdate,order_no,cid
from ovst ov
left outer join patient pt on pt.hn=ov.hn
left outer join thaiaddress t1 on t1.chwpart=pt.chwpart and
     t1.amppart="00" and t1.tmbpart="00"
left outer join thaiaddress t2 on t2.chwpart=pt.chwpart and
     t2.amppart=pt.amppart and t2.tmbpart="00"
left outer join thaiaddress t3 on t3.chwpart=pt.chwpart and
     t3.amppart=pt.amppart and t3.tmbpart=pt.tmbpart
left outer join opitemrece op on op.hn=ov.hn
where op.rxdate between "2007-02-01" and "2007-02-28"  and op. icode ="1480756"
group by order_no
order by rxdate