ผู้เขียน หัวข้อ: สอบถามคำสั่ง Query ครับ  (อ่าน 3266 ครั้ง)

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

ออฟไลน์ panus_t

  • Hero Member
  • *****
  • กระทู้: 2,368
  • Respect: +8
    • ดูรายละเอียด
สอบถามคำสั่ง Query ครับ
« เมื่อ: กรกฎาคม 11, 2012, 15:46:09 PM »
0
select v.vn,v.vstdate,v.hn,v.pdx,v.dx1,v.dx2,v.dx3,v.dx4,v.dx5,concat(p.pname,p.fname," ",p.lname) as pt_name
,p.addrpart,p.moopart,t.full_name,ptt.hospmain
from vn_stat v
left outer join patient p on p.hn=v.hn
left outer join thaiaddress t on t.addressid=v.aid
left outer join pttypeno ptt on ptt.hn=v.hn
where v.pdx >= "E140" and v.pdx <= "E149" or
  v.dx0 >= "E140" and v.dx0 <= "E149" or
  v.dx1 >= "E140" and v.dx1 <= "E149" or
  v.dx2 >= "E140" and v.dx2 <= "E149" or
  v.dx3 >= "E140" and v.dx3 <= "E149" or
  v.dx4 >= "E140" and v.dx4 <= "E149" or
  v.dx5 >= "E140" and v.dx5 <= "E149"
group by v.hn

จากคำสั่งข้างบน ผมต้องการดึงผู้ป่วยที่มีการลง Dx.E140-E149 เป็นครั้งแรก แต่ทำไมมันถึงมี Dx.อื่นปนมาด้วยครับ .
 ???
โรงพยาบาลเสิงสาง จ.นครราชสีมา (ขนาด  60  เตียง ปี2554)  ขึ้นระบบโดยทีมงาน BMS  เมื่อเดือนเมษายน 2551
ก่อนหน้านั้นขึ้นระบบเมื่อ 07/07/07 ฤกษ์ดี  Master Server  IBM System x3500M4  RAM ECC 24 GB. HardDisk SAS 450x3 GB. ServerRAID M1100 Series Zero RAID5  OS:CentOS 6.4  MySQLPercona : 5.5.30-30.1

ออฟไลน์ manoi

  • Hero Member
  • *****
  • กระทู้: 8,669
  • Respect: +170
    • ดูรายละเอียด
    • HOSxP Community Center
Re: สอบถามคำสั่ง Query ครับ
« ตอบกลับ #1 เมื่อ: กรกฎาคม 11, 2012, 15:50:58 PM »
0
ถ้าใช้  group by ควรจะมี aggregate function  ใน select statement ด้วยนะครับ

แล้ว เงื่อนไข ถ้าใช้ and กับ or ปนกัน ควรใช้ วงเล็บ ช่วยคั่นในแต่ละเงื่อนไขนะครับ
HOSxP Project Manager / Cheif Developer / BMS MD

ออฟไลน์ panus_t

  • Hero Member
  • *****
  • กระทู้: 2,368
  • Respect: +8
    • ดูรายละเอียด
Re: สอบถามคำสั่ง Query ครับ
« ตอบกลับ #2 เมื่อ: กรกฎาคม 11, 2012, 16:02:03 PM »
0
ถ้าใช้  group by ควรจะมี aggregate function  ใน select statement ด้วยนะครับ

แล้ว เงื่อนไข ถ้าใช้ and กับ or ปนกัน ควรใช้ วงเล็บ ช่วยคั่นในแต่ละเงื่อนไขนะครับ

aggregate function  คืออะไรครับอาจารย์
ไม่ได้สังเกตว่า วงเล็บหาย ตอนแรกมันเป็นอย่างนี้ครับ
 and ( (pdx >= "E100" and pdx <= "E119")
 or (dx0 >= "E100" and dx0 <= "E119")
 or (dx1 >= "E100" and dx1 <= "E119")
 or (dx2 >= "E100" and dx2 <= "E119")
 or (dx3 >= "E100" and dx3 <= "E119")
 or (dx4 >= "E100" and dx4 <= "E119")
 or (dx5 >= "E100" and dx5 <= "E119") )

copy มาจาก Custom Search กดไปกดมาท่าไหนไม่ทราบวงเล็บหาย :->
ขอบคุณครับ
โรงพยาบาลเสิงสาง จ.นครราชสีมา (ขนาด  60  เตียง ปี2554)  ขึ้นระบบโดยทีมงาน BMS  เมื่อเดือนเมษายน 2551
ก่อนหน้านั้นขึ้นระบบเมื่อ 07/07/07 ฤกษ์ดี  Master Server  IBM System x3500M4  RAM ECC 24 GB. HardDisk SAS 450x3 GB. ServerRAID M1100 Series Zero RAID5  OS:CentOS 6.4  MySQLPercona : 5.5.30-30.1