BMS-HOSxP Community
HOSxP => การเขียน SQL Script => ข้อความที่เริ่มโดย: yukiplee ที่ กันยายน 04, 2012, 18:41:40 PM
-
รบกวนสอบถามท่านผู้รู้ทุกท่านครับ ขอคำสั่ง sql การดึงจำนวนผู้ป่วยที่เป็นโรคหัวใจ แสดงออกเป็นจำนวนหรือถ้ารายชื่อ ยิ่งดีครับ(อิอิ) โดย hn ไม่ซ้ำกันอะครับ ??? ??? ขอบคุณล่วงกน้าครับ
-
select p.hn,concat(p.pname,p.fname,' ',p.lname)as ptname,count(p.hn) as chn from vn_stat v left join patient p on p.hn=v.hn where v.vstdate between "วันเริ่มต้น" and "วันสิ้นสุด" and v.pdx in ("ICD10ที่เกี่ยวกับโรคหัวใจ") group by p.hn
-
โรคหัวใจมีหลายรูปแบบ บางทีคนไข้คนเดียวอาจถูก diag เป็นโรคหัวใจไม่เหมือนกัน (diag หลายรหัส ต่อหนึ่งคน) ถ้าต้องการให้แสดง แค่ครั้งเดียว ที่ hn ไม่ซ้ำกัน (ถึงแม้ว่าคนเดียวอาจถูก diag หลายรหัส ) ได้ไหมครับ??
ซึ่งรหัส ICD 10 มันจะมีหลายช่วงระหว่างอะครับ เช่น
I050 ถึง I099
I200 - I259
I260 - I289
I300 - I388
ขอบคุณล่วงหน้าคร้าบบ
-
ต่อจากคำสั่งเดิม แก้ตรง pdx ดังนี้ ==> and (v.pdx between "I050" and "I099" or v.pdx between "I200" and "I259" or v.pdx between "I260" and "I289" or v.pdx between "I300" and "I388" )
-
ขอบคุณครับพี่ทิว แต่ผมลองต่อแล้ว ใช่แบบนี้หรือเปล่าครับ ไม่ออกครับ!! 55555++
select pselect p.hn,concat(p.pname,p.fname,' ',p.lname)as ptname,count(p.hn) as chn from vn_stat v left join patient p on p.hn=v.hn
where v.vstdate between "20101001" and "20110930" and pdx in(v.pdx between "I050" and "I099" or v.pdx between "I200" and "I259" or v.pdx between "I260"
and "I289" or v.pdx between "I300" and "I388" ) group by p.hn
ผมต่อผิดแน่เลย รบกวนพี่ทิวดูอีกรอบได้ไหม??555++
ขอถามนิดนึงนะครับพี่ ถ้าแบบนี้จะแสดงเฉพาะคนไข้ที่ถูกเป็นโรคหลัก(pdx) อย่างเดียวใช่ป่าวครับ ถ้าจะให้แสดงหมดได้ไหมครับ ไม่แยกว่าโรคหลัก โรคร่วม ขอบคุณครับ :) :) :)