BMS-HOSxP Community
HOSxP => การเขียน SQL Script => ข้อความที่เริ่มโดย: d^_^b►►ทิว ที่ กรกฎาคม 19, 2012, 09:31:36 AM
-
ผมจะดึงข้อมูลผู้ป่วย คนแรกที่มารับบริการในแต่ล่ะวัน ว่า hn อะไร มาเวลาไหน หมอคนไหนตรวจ
ดึงเดือนล่ะครั้ง จะได้ข้อมูล เดือนล่ะ 30 รายการ หรือวันล่ะรายการ(รายการที่มารับบริการแรกสุด)
ต้องเรียบเรียงคำสั่งยังไงครับ
-
select vstdate,vsttime,min(vn),hn from ovst
where vstdate between "xxxx-xx-xx" and "xxxx-xx-xx"
group by vstdate
น่าจะประมาณนี้ได้นะครับ อยากได้อย่างอื่นลองเพิ่มดูนะครับ
-
ไม่ได้ครับ สังเกตุจากวันที่ 3 ไม่น่าจะเป็นไปได้ว่า คนไข้รายแรกจะมาตอน เกือบเที่ยง
อีกทั้ง vn ไม่สัมพันธ์กับ เวลา ครับ ดูจากเวลาแล้ว vn น่าจะเป็น 550703112246 น่ะครับ
พอจะมีวิธีอื่นไหมครับ
-
ลองแบบนี้ครับ
select min(vstdate),min(vsttime),min(vn),hn from ovst
where vstdate between "2012-05-01" and "2012-05-31"
group by vstdate
-
select a.vstdate,o.vsttime,a.vn
,pt.pname,pt.fname,pt.lname
,o.doctor,dr.name doctorname
,v.pdx
from (select vstdate,min(vn) vn
from ovst
where vstdate between '2012-1-1' and '2012-1-31'
group by vstdate) a
left join ovst o on a.vn=o.vn
left join vn_stat v on o.vn=v.vn
left join patient pt on o.hn=pt.hn
left join doctor dr on o.doctor=dr.code
ประมาณนี้มั๊ย