ผู้เขียน หัวข้อ: ขอคำแนะนำเรื่อง code นี้หน่อยคับ  (อ่าน 5010 ครั้ง)

0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

ออฟไลน์ onlinelp

  • Full Member
  • ***
  • กระทู้: 163
  • Respect: 0
    • ดูรายละเอียด
    • โรงพยาบาลพระนารายณ์มหาราช
ขอคำแนะนำเรื่อง code นี้หน่อยคับ
« เมื่อ: กุมภาพันธ์ 28, 2008, 15:41:30 PM »
0
ช่วยผมด้วยครับทำมัยยังมีผู้ป่วยซ้ำกันอยู่ผมผิดตรงไหนครับ... ???


select distinct pt.hn,ov.hospmain,ov.vstdate,pt.cid,pt.pname,pt.fname,pt.lname,pt.birthday,ov.age_y,
pt.sex,os.bw,os.height,concat(os.bpd,"/",os.bps)as mmhg,pt.addrpart,pt.moopart,pt.tmbpart,pt.amppart,pt.chwpart,
concat(pt.addrpart,"Á.",pt.moopart,'  '," µ.",t3.name,'  ',"Í.",t2.name,' '," ¨.",t1.name)
as fulladdressname,pt.nationality,ov.pdx,i.name
from vn_stat ov
 left outer join opdscreen os on os.hn=ov.hn
 left outer join patient pt on pt.hn=ov.hn
 left outer join ovst ovst on ovst.hn =ov.hn
 left outer join icd101 i on i.code = ov.main_pdx
 left outer join pttype ptt on ptt.pttype = ov.pttype

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
where ov.vn>="500101000000" and  ov.vn<="5033199999"
and ov.age_y>= 0
and ov.age_y<= 200
and ( (ov.pdx >= "I10" and ov.pdx <= "I159")

or (ov.pdx >= "e10" and ov.pdx <= "e149")

or (ov.pdx >= "j40" and ov.pdx <= "j479")

or (ov.pdx >= "i60" and ov.pdx <= "i699")

or (ov.pdx >= "i20" and ov.pdx <= "I259"))

 limit 10




ขอบคุณล่วงหน้าครับ :o
โรงพยาบาลพระนารายณ์มหาราช จ.ลพบุรี
HOSxp Version : 3.53.12.8
สำรวย  ช้างจวง (ต๊อก)
MSN : aminoaul@hotmail.com
------------------------------------------------------------------------
KSK Kill >>sality.a  http://www.webphand.com/sality/fix.php

ออฟไลน์ spoons

  • Newbie
  • *
  • กระทู้: 41
  • Respect: 0
    • ดูรายละเอียด
Re: ขอคำแนะนำเรื่อง code นี้หน่อยคับ
« ตอบกลับ #1 เมื่อ: กุมภาพันธ์ 28, 2008, 16:15:17 PM »
0
 แก้ไข 2 บรรทัดนี้ครับ

 left outer join opdscreen os on os.vn=ov.vn

 left outer join ovst ovst on ovst.vn =ov.vn
Sitthichai
Nakhonchaisi hospital
Hosxp version 3.50.11.30

ออฟไลน์ onlinelp

  • Full Member
  • ***
  • กระทู้: 163
  • Respect: 0
    • ดูรายละเอียด
    • โรงพยาบาลพระนารายณ์มหาราช
Re: ขอคำแนะนำเรื่อง code นี้หน่อยคับ
« ตอบกลับ #2 เมื่อ: กุมภาพันธ์ 28, 2008, 16:29:56 PM »
0
ขอบคุณมากครับ... ;D :D :D
โรงพยาบาลพระนารายณ์มหาราช จ.ลพบุรี
HOSxp Version : 3.53.12.8
สำรวย  ช้างจวง (ต๊อก)
MSN : aminoaul@hotmail.com
------------------------------------------------------------------------
KSK Kill >>sality.a  http://www.webphand.com/sality/fix.php

ออฟไลน์ pop_hosxp

  • Hero Member
  • *****
  • กระทู้: 3,128
  • Respect: +38
    • ดูรายละเอียด
    • Phanomphrai Hospital
Re: ขอคำแนะนำเรื่อง code นี้หน่อยคับ
« ตอบกลับ #3 เมื่อ: กุมภาพันธ์ 29, 2008, 07:56:27 AM »
0
น่าจะได้แก้ตรงนี้ด้วยครับ

where ov.vn>="500101000000" and  ov.vn<="5033199999"

รู้สึกว่า vn ยังไม่ครบ 12 หลัก แต่ผมว่าควรดึงจาก vstdate ดีกว่านะครับ
pop434241@gmail.com
รพ.พนมไพร จ.ร้อยเอ็ด www.phanomphrai.net

ออฟไลน์ onlinelp

  • Full Member
  • ***
  • กระทู้: 163
  • Respect: 0
    • ดูรายละเอียด
    • โรงพยาบาลพระนารายณ์มหาราช
Re: ขอคำแนะนำเรื่อง code นี้หน่อยคับ
« ตอบกลับ #4 เมื่อ: กุมภาพันธ์ 29, 2008, 13:57:42 PM »
0
ยังซ้ำอยู่เลยอ่ะคับ  ??? ??? ???
โรงพยาบาลพระนารายณ์มหาราช จ.ลพบุรี
HOSxp Version : 3.53.12.8
สำรวย  ช้างจวง (ต๊อก)
MSN : aminoaul@hotmail.com
------------------------------------------------------------------------
KSK Kill >>sality.a  http://www.webphand.com/sality/fix.php

ออฟไลน์ SrWooD

  • Hero Member
  • *****
  • กระทู้: 1,024
  • Respect: +1
    • ดูรายละเอียด
Re: ขอคำแนะนำเรื่อง code นี้หน่อยคับ
« ตอบกลับ #5 เมื่อ: กุมภาพันธ์ 29, 2008, 14:07:24 PM »
0
ช่วยส่ง code ที่แก้ไขแล้วมาให้ดูใหม่ด้วยครับ

และสอบถามเพิ่มเติมครับ ว่าต้องการหาข้อมูลอะไรจาก sql นี้ครับ

 ??? ??? ???
โรงพยาบาลโพธิ์ทอง จังหวัดอ่างทอง

ออฟไลน์ admin30

  • Sr. Member
  • ****
  • กระทู้: 352
  • Respect: 0
    • ดูรายละเอียด
    • ioffer resume
Re: ขอคำแนะนำเรื่อง code นี้หน่อยคับ
« ตอบกลับ #6 เมื่อ: กุมภาพันธ์ 29, 2008, 14:27:03 PM »
0
ลองแบบนี้ดูครับ

select distinct(pt.hn),ov.hospmain,ov.vstdate,pt.cid,pt.pname,pt.fname,pt.lname,pt.birthday,ov.age_y,
pt.sex,os.bw,os.height,concat(os.bpd,"/",os.bps)as mmhg,pt.addrpart,pt.moopart,pt.tmbpart,pt.amppart,pt.chwpart,
concat(pt.addrpart,"&Aacute;.",pt.moopart,'  '," &micro;.",t3.name,'  ',"&Iacute;.",t2.name,' '," &uml;.",t1.name)
as fulladdressname,pt.nationality,ov.pdx,i.name
from vn_stat ov
 left outer join opdscreen os on os.hn=ov.hn
 left outer join patient pt on pt.hn=ov.hn
 left outer join ovst ovst on ovst.hn =ov.hn
 left outer join icd101 i on i.code = ov.main_pdx
 left outer join pttype ptt on ptt.pttype = ov.pttype
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
where ov.vn>="500101000000" and  ov.vn<="5033199999"
and ov.age_y>= 0
and ov.age_y<= 200
and ( (ov.pdx between "I10" and  "I159")
or (ov.pdx between "e10" and  "e149")
or (ov.pdx between "j40" and   "j479")
or (ov.pdx between "i60" and  "i699")
or (ov.pdx between "i20" and "I259"))
 limit 20
« แก้ไขครั้งสุดท้าย: กุมภาพันธ์ 29, 2008, 14:37:03 PM โดย admin30 »
HOSxP Server Master : MariaDb 10.1.19
ขึ้นระบบ 24 พ.ค.2550 โดย BMS Team
http://ikstudioytchannel.blogspot.com/
https://iofferresumer.blogspot.com/

ออฟไลน์ spoons

  • Newbie
  • *
  • กระทู้: 41
  • Respect: 0
    • ดูรายละเอียด
Re: ขอคำแนะนำเรื่อง code นี้หน่อยคับ
« ตอบกลับ #7 เมื่อ: กุมภาพันธ์ 29, 2008, 14:52:24 PM »
0
วิธีที่1 ตัด column ที่จะทำให้ record แตกต่างกัน เช่น vstdate ,bps,bpd เพราะถึงแม้จะเป็น hn เดียวกัน
          แต่มี column อื่น ต่างกัน ก็จะถือว่าเป็น record ที่แตกต่างกัน

วิธีที่2 เปลี่ยนจาก left outer join เป็น inner join
Sitthichai
Nakhonchaisi hospital
Hosxp version 3.50.11.30

ออฟไลน์ SrWooD

  • Hero Member
  • *****
  • กระทู้: 1,024
  • Respect: +1
    • ดูรายละเอียด
Re: ขอคำแนะนำเรื่อง code นี้หน่อยคับ
« ตอบกลับ #8 เมื่อ: กุมภาพันธ์ 29, 2008, 15:57:44 PM »
0
ลองแบบนี้ดูครับ

select distinct pt.hn,ov.hospmain,ov.vstdate,pt.cid,pt.pname,pt.fname,pt.lname,pt.birthday,ov.age_y,
pt.sex,os.bw,os.height,concat(os.bpd,"/",os.bps)as mmhg,pt.addrpart,pt.moopart,pt.tmbpart,pt.amppart,pt.chwpart,
concat(pt.addrpart,"&Aacute;.",pt.moopart,'  '," &micro;.",t3.name,'  ',"&Iacute;.",t2.name,' '," &uml;.",t1.name)
as fulladdressname,pt.nationality,ov.pdx,i.name
from vn_stat ov
 left outer join opdscreen os on os.vn=ov.vn
 left outer join patient pt on pt.hn=ov.hn
 left outer join ovst ovst on ovst.vn =ov.vn
 left outer join icd101 i on i.code = ov.main_pdx
 left outer join pttype ptt on ptt.pttype = ov.pttype

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
where ov.vn>="500101000000" and  ov.vn<="5033199999"
and ov.age_y>= 0
and ov.age_y<= 200
and ( (ov.pdx >= "I10" and ov.pdx <= "I159")
or (ov.pdx >= "e10" and ov.pdx <= "e149")
or (ov.pdx >= "j40" and ov.pdx <= "j479")
or (ov.pdx >= "i60" and ov.pdx <= "i699")
or (ov.pdx >= "i20" and ov.pdx <= "I259"))
group by ov.hn
limit 10

แต่ว่ายังไม่เข้าใจว่าต้องการหาข้อมูลอะไรจาก sql นี้ครับ วานบอก

 :-\ :-\ :-\
โรงพยาบาลโพธิ์ทอง จังหวัดอ่างทอง

ออฟไลน์ onlinelp

  • Full Member
  • ***
  • กระทู้: 163
  • Respect: 0
    • ดูรายละเอียด
    • โรงพยาบาลพระนารายณ์มหาราช
Re: ขอคำแนะนำเรื่อง code นี้หน่อยคับ
« ตอบกลับ #9 เมื่อ: มีนาคม 03, 2008, 11:46:03 AM »
0
 SrWoOd  <<<<ขอบคุณครับพี่
คือรายงานนี้ผมต้องการจำนวนผู้ป่วยที่เป็นโรคเรื้อรัง 5 โรคดังนี้
1. เบาหวาน
2. ความดันดลหิตสูง
3. หัวใจขาดเลือด
4. หลอดเลือดสมอง
5. ปอดอุดกั้น

โดยนับจำนวนในปีนั้นๆมีกี่ราย...?
ขอบคุณครับผมจะลองนำไปลองครับ.... :o :o
โรงพยาบาลพระนารายณ์มหาราช จ.ลพบุรี
HOSxp Version : 3.53.12.8
สำรวย  ช้างจวง (ต๊อก)
MSN : aminoaul@hotmail.com
------------------------------------------------------------------------
KSK Kill >>sality.a  http://www.webphand.com/sality/fix.php

ออฟไลน์ onlinelp

  • Full Member
  • ***
  • กระทู้: 163
  • Respect: 0
    • ดูรายละเอียด
    • โรงพยาบาลพระนารายณ์มหาราช
Re: ขอคำแนะนำเรื่อง code นี้หน่อยคับ
« ตอบกลับ #10 เมื่อ: มีนาคม 03, 2008, 12:01:24 PM »
0
ขอบคุณพี่ๆทุกท่านเลยครับที่ให้คำแนะนำทำได้แล้วครับ
 ;D ;D ;D
โรงพยาบาลพระนารายณ์มหาราช จ.ลพบุรี
HOSxp Version : 3.53.12.8
สำรวย  ช้างจวง (ต๊อก)
MSN : aminoaul@hotmail.com
------------------------------------------------------------------------
KSK Kill >>sality.a  http://www.webphand.com/sality/fix.php