ไม่ใช่ครับ คือ โคด ข้างบนผม ตัดมา เพราะต้องการให้มันแสดง วันที่ ล่าสุด ครับ แต่ มันจะแสดงวันที่แรก
ทำให้ค่า แล้วค่า lab ccr มันก็ผิดครับ
ปล. ต้องการให้มันแสดง ค่าวันที่ล่าสุดครับ
// N180 และ N189 เป็นไตวายเรื้อรัง
//
select vt.vn, vt.hn , vt.cid ,concat(pname,fname," ",lname)as name ,vt.age_y,op.bw , max(vt.vstdate )as vdate ,lh.form_name ,
vt.pdx ,lo.lab_order_result as Cr ,concat(pt.addrpart,"หมู่ ",pt.moopart,th.full_name) as address ,pt.sex ,
if (pt.sex='1',(((140-vt.age_y)* op.bw * 0.85)/(72*lo.lab_order_result)),(((140-vt.age_y)* op.bw )/(72*lo.lab_order_result)))as CCr ,
if (( if (pt.sex='1',(((140-vt.age_y)* op.bw * 0.85)/(72*lo.lab_order_result)),(((140-vt.age_y)* op.bw )/(72*lo.lab_order_result)))>=90),("ระยะที่ 1"),
(if (( if (pt.sex='1',(((140-vt.age_y)* op.bw * 0.85)/(72*lo.lab_order_result)),(((140-vt.age_y)* op.bw )/(72*lo.lab_order_result)))>=60),("ระยะที่ 2"),
(if (( if (pt.sex='1',(((140-vt.age_y)* op.bw * 0.85)/(72*lo.lab_order_result)),(((140-vt.age_y)* op.bw )/(72*lo.lab_order_result)))>=30),("ระยะที่ 3"),
(if (( if (pt.sex='1',(((140-vt.age_y)* op.bw * 0.85)/(72*lo.lab_order_result)),(((140-vt.age_y)* op.bw )/(72*lo.lab_order_result)))>=15),("ระยะที่ 4"),("ระยะสุดท้าย")))))))) As cc
from lab_order lo
left outer join lab_head lh on lo.lab_order_number =lh.lab_order_number
left outer join vn_stat vt on lh.vn=vt.v
left outer join opdscreen op on vt.hn=op.hn
left outer join patient pt on vt.hn=pt.hn
left outer join thaiaddress th on pt.chwpart=th.chwpart and pt.amppart=th.amppart and pt.tmbpart=th.tmbpart
where lo.lab_items_code= '78' and vt.pdx='N180' or vt.pdx='N189'
group by lo.lab_order_number
order by cc , vt.pdx desc
ไม่ใช่ครับ คือ โคด ข้างบนผม ตัดมา เพราะต้องการให้มันแสดง วันที่ ล่าสุด ครับ แต่ มันจะแสดงวันที่แรก
ทำให้ค่า แล้วค่า lab ccr มันก็ผิดครับ
ปล. ต้องการให้มันแสดง ค่าวันที่ล่าสุดครับ
// N180 และ N189 เป็นไตวายเรื้อรัง
//
select vt.vn, vt.hn , vt.cid ,concat(pname,fname," ",lname)as name ,vt.age_y,op.bw , max(vt.vstdate )as vdate ,lh.form_name ,
vt.pdx ,lo.lab_order_result as Cr ,concat(pt.addrpart,"หมู่ ",pt.moopart,th.full_name) as address ,pt.sex ,
if (pt.sex='1',(((140-vt.age_y)* op.bw * 0.85)/(72*lo.lab_order_result)),(((140-vt.age_y)* op.bw )/(72*lo.lab_order_result)))as CCr ,
if (( if (pt.sex='1',(((140-vt.age_y)* op.bw * 0.85)/(72*lo.lab_order_result)),(((140-vt.age_y)* op.bw )/(72*lo.lab_order_result)))>=90),("ระยะที่ 1"),
(if (( if (pt.sex='1',(((140-vt.age_y)* op.bw * 0.85)/(72*lo.lab_order_result)),(((140-vt.age_y)* op.bw )/(72*lo.lab_order_result)))>=60),("ระยะที่ 2"),
(if (( if (pt.sex='1',(((140-vt.age_y)* op.bw * 0.85)/(72*lo.lab_order_result)),(((140-vt.age_y)* op.bw )/(72*lo.lab_order_result)))>=30),("ระยะที่ 3"),
(if (( if (pt.sex='1',(((140-vt.age_y)* op.bw * 0.85)/(72*lo.lab_order_result)),(((140-vt.age_y)* op.bw )/(72*lo.lab_order_result)))>=15),("ระยะที่ 4"),("ระยะสุดท้าย")))))))) As cc
from lab_order lo
left outer join lab_head lh on lo.lab_order_number =lh.lab_order_number
left outer join vn_stat vt on lh.vn=vt.v
left outer join opdscreen op on vt.hn=op.hn
left outer join patient pt on vt.hn=pt.hn
left outer join thaiaddress th on pt.chwpart=th.chwpart and pt.amppart=th.amppart and pt.tmbpart=th.tmbpart
where lo.lab_items_code= '78' and vt.pdx='N180' or vt.pdx='N189'
group by lo.lab_order_number
order by cc , vt.pdx desc
ไม่ใช่ครับ คือ โคด ข้างบนผม ตัดมา เพราะต้องการให้มันแสดง วันที่ ล่าสุด ครับ แต่ มันจะแสดงวันที่แรก
ทำให้ค่า แล้วค่า lab ccr มันก็ผิดครับ
ปล. ต้องการให้มันแสดง ค่าวันที่ล่าสุดครับ
// N180 และ N189 เป็นไตวายเรื้อรัง
//
select vt.vn, vt.hn , vt.cid ,concat(pname,fname," ",lname)as name ,vt.age_y,op.bw , max(vt.vstdate )as vdate ,lh.form_name ,
vt.pdx ,lo.lab_order_result as Cr ,concat(pt.addrpart,"หมู่ ",pt.moopart,th.full_name) as address ,pt.sex ,
if (pt.sex='1',(((140-vt.age_y)* op.bw * 0.85)/(72*lo.lab_order_result)),(((140-vt.age_y)* op.bw )/(72*lo.lab_order_result)))as CCr ,
if (( if (pt.sex='1',(((140-vt.age_y)* op.bw * 0.85)/(72*lo.lab_order_result)),(((140-vt.age_y)* op.bw )/(72*lo.lab_order_result)))>=90),("ระยะที่ 1"),
(if (( if (pt.sex='1',(((140-vt.age_y)* op.bw * 0.85)/(72*lo.lab_order_result)),(((140-vt.age_y)* op.bw )/(72*lo.lab_order_result)))>=60),("ระยะที่ 2"),
(if (( if (pt.sex='1',(((140-vt.age_y)* op.bw * 0.85)/(72*lo.lab_order_result)),(((140-vt.age_y)* op.bw )/(72*lo.lab_order_result)))>=30),("ระยะที่ 3"),
(if (( if (pt.sex='1',(((140-vt.age_y)* op.bw * 0.85)/(72*lo.lab_order_result)),(((140-vt.age_y)* op.bw )/(72*lo.lab_order_result)))>=15),("ระยะที่ 4"),("ระยะสุดท้าย")))))))) As cc
from lab_order lo
left outer join lab_head lh on lo.lab_order_number =lh.lab_order_number
left outer join vn_stat vt on lh.vn=vt.v
left outer join opdscreen op on vt.hn=op.hn
left outer join patient pt on vt.hn=pt.hn
left outer join thaiaddress th on pt.chwpart=th.chwpart and pt.amppart=th.amppart and pt.tmbpart=th.tmbpart
where lo.lab_items_code= '78' and vt.pdx='N180' or vt.pdx='N189'
group by lo.lab_order_number
order by cc , vt.pdx desc
ขอบคุณมากครับ
ทอสอบแล้ว เยี่ยมมาก // ผมนั่งคิดหัวแทบแตก อาจารย์มาทำให้แปบเดียว ต้องรีบฝึกวรยุทธใหม่เสียแล้ว ???
// แต่ไม่เข้าใจ คอนเส็บ ทำไงให้ตัด hn ที่ไม่ได้ลง ccr ออกได้ อาจารย์ อาธิบายพอสังเขปได้ไหมครับ
ตอนนี้ไม่ได้ตัด HN ที่ไม่ได้ลง creatinine ออกนะครับ ตัวรายงานหลักจะดึงคนที่มี pdx เป็น N180 และ N189 ออกมาก่อน แล้วค่อยไปหาค่า bw, creatinine ล่าสุดมา ถ้าไม่ได้ลงข้อมูลไว้ มันก็จะเป็นช่องว่าง ๆ ตาม HN นั้น ๆ ครับ
ขอสอบถามหน่อยครับ ว่าถ้าอยากนับจำนวน ว่าระยะ ที่ 4 มีกี่คน ระยะที่ 3 มีกี่คน ต้องเขียนคำสั่งยังไงครับถ้า รวมแบบ นี้มีปัญหาจริงครับ
ลองประกาศตัวแปรให้มาเก็บค่า แต่ละ stage แล้วก็นับ เพิ่มไปเรื่อยแต่ตอนรวมตอนท้าย มันไม่เท่ากับค่าที่นับเองครับ
if variable5.value>=90 then
value:='First Stage'
a:=a+1
else if variable5.value>=60 then
value:='Second Stage'
b:=b+1
ขอบคุณครับ
egfr ไม่ยอมโชว์ทำอย่างไรค่ะดูชื่อ lab creatinine ใส่ไว้อย่าไร ให้แก้ไขในตัว report ครับ