ขอรบกวนถามเกี่ยวกับคำสั่งดึง คนไข้ทะเบียนเบาหวาน ที่มีผลค่า fbs ย้อนหลัง 3 ครั้ง ติดต่อกัน พอดี ใช้ข้อมูลจาก ตาราง opdscreen_fbs แต่ติดที่ ครั้งที่ 2 , และ 3 ไม่โชว์ เลยอยากรบกวนช้วยดูโค็ดว่าผิดตรงไหน
set @d1 = '2013-10-01';
set @d2 = '2013-10-31';
select *
from
(select v.hn,concat(p.pname,p.fname,space(3),p.lname) as ptname,v.aid,
(select dt.dtx1 from opdscreen o
left outer join opdscreen_fbs dt on dt.vn = o.vn
where o.vn=v.vn and o.vstdate between @d1 and @d2 order by o.vstdate desc,o.vsttime desc limit 0,1) as fbs
,
(select dt1.dtx1 from opdscreen o1
left outer join opdscreen_fbs dt1 on dt1.vn = o1.vn
where o1.vn=v.vn order by o1.vstdate desc,o1.vsttime desc limit 1,1) as fbs1
,
(select dt2.dtx1 from opdscreen o2
left outer join opdscreen_fbs dt2 on dt2.vn = o2.vn
where o2.vn=v.vn order by o2.vstdate desc,o2.vsttime desc limit 2,1) as fbs2
from vn_stat v
left join patient p on p.hn = v.hn
where v.vstdate between @d1 and @d2
and v.hn in (select hn from clinicmember where clinic="001")
group by v.hn
order by v.aid desc ,p.pname,p.fname,p.lname
) as ttemp
where fbs>0 and fbs1 > 0 and fbs2 > 0