ผู้เขียน หัวข้อ: ช่วย check sql ให้ทีครับ  (อ่าน 7901 ครั้ง)

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

ออฟไลน์ chronoX

  • Sr. Member
  • ****
  • กระทู้: 387
  • Respect: +10
    • ดูรายละเอียด
    • รพ.สมเด็จพระยุพราชท่าบ่อ
ช่วย check sql ให้ทีครับ
« เมื่อ: มีนาคม 27, 2007, 01:32:06 AM »
0
select lhd.lab_order_number,lhd.vn,lhd.hn,vst.vstdate,lhd.order_date,pt.bloodgrp,lor.lab_items_code,lit.lab_items_name,lor.lab_order_result,lit.lab_items_unit,
lit.lab_items_normal_value
from lab_head lhd
left outer join ovst vst on vst.hn = lhd.hn
left outer join patient pt on pt.hn = lhd.hn
left outer join  lab_order lor on lor.lab_order_number= lhd.lab_order_number
left outer join lab_items lit on lit.lab_items_code = lor.lab_items_code
where  vst.vstdate between '2007-02-26' and '2007-02-26' and lhd.hn ='0114236'
and lor.lab_items_code in (241,1003,1016,1024,1025,94,1028,58,1025,1026,1033,1029,1005)
order by lor.lab_items_code asc

--------------------------------------------------------------------------------------------------------------------------

มันขึ้นแปลกๆครับ ไปดึงค่าเก่ามาด้วย ทั้งๆที่ระบุวันที่มาแล้ว ไม่ทราบว่าเกิดจากอะไร อาจจะเป็นเพราะ join ตารางมากเกินไปครับ ใครก้อได้ช่วยแก้ให้ทีครับ
Kreangrit  Pakjinda  Position: Administrator&Programmer @ Thabo Crown Prince Hospital,
Server:OS Linux CenOS 7,RAM 64 Gb HDD 1 TB,Mysql 5.5.31
Slave:OS Linux CenOS 7  Cient:WindowsXP ,7
HOSxP Version 3.59.3.21
http://www.thabohospital.com

ออฟไลน์ naj

  • Hero Member
  • *****
  • กระทู้: 2,449
  • Respect: +10
    • ดูรายละเอียด
    • http://www.luangphopern-hospital.com
Re: ช่วย check sql ให้ทีครับ
« ตอบกลับ #1 เมื่อ: มีนาคม 27, 2007, 01:53:44 AM »
0
select lhd.lab_order_number,lhd.vn,lhd.hn,vst.vstdate,lhd.order_date,pt.bloodgrp,lor.lab_items_code,lit.lab_items_name,lor.lab_order_result,lit.lab_items_unit,
lit.lab_items_normal_value
from lab_head lhd
left outer join ovst vst on vst.vn = lhd.vnleft outer join patient pt on pt.hn = lhd.hn
left outer join  lab_order lor on lor.lab_order_number= lhd.lab_order_number
left outer join lab_items lit on lit.lab_items_code = lor.lab_items_code
where  vst.vstdate between '2007-02-26' and '2007-02-26' and lhd.hn ='0114236'
and lor.lab_items_code in (241,1003,1016,1024,1025,94,1028,58,1025,1026,1033,1029,1005)
order by lor.lab_items_code asc
ลองเปลี่ยนดูนะ
Yindee And Tan

ออฟไลน์ chronoX

  • Sr. Member
  • ****
  • กระทู้: 387
  • Respect: +10
    • ดูรายละเอียด
    • รพ.สมเด็จพระยุพราชท่าบ่อ
Re: ช่วย check sql ให้ทีครับ
« ตอบกลับ #2 เมื่อ: มีนาคม 27, 2007, 02:41:00 AM »
0
ได้แล้วครับ  เส้นผมบังภูเขาจริงๆ ขอบคุณอ.นาจมากครับ ;D
Kreangrit  Pakjinda  Position: Administrator&Programmer @ Thabo Crown Prince Hospital,
Server:OS Linux CenOS 7,RAM 64 Gb HDD 1 TB,Mysql 5.5.31
Slave:OS Linux CenOS 7  Cient:WindowsXP ,7
HOSxP Version 3.59.3.21
http://www.thabohospital.com

ออฟไลน์ naj

  • Hero Member
  • *****
  • กระทู้: 2,449
  • Respect: +10
    • ดูรายละเอียด
    • http://www.luangphopern-hospital.com
Re: ช่วย check sql ให้ทีครับ
« ตอบกลับ #3 เมื่อ: มีนาคม 27, 2007, 03:09:11 AM »
0
post ใหม่ครับจะได้ดูง่ายๆ
โค๊ด: SQL
  1. SELECT lhd.lab_order_number,lhd.vn,lhd.hn,vst.vstdate,lhd.order_date,pt.bloodgrp,lor.lab_items_code,lit.lab_items_name,lor.lab_order_result,lit.lab_items_unit,
  2. lit.lab_items_normal_value
  3. FROM lab_head lhd
  4. LEFT OUTER JOIN ovst vst ON vst.vn = lhd.vn
  5. eft OUTER JOIN patient pt ON pt.hn = lhd.hn
  6. LEFT OUTER JOIN  lab_order lor ON lor.lab_order_number= lhd.lab_order_number
  7. LEFT OUTER JOIN lab_items lit ON lit.lab_items_code = lor.lab_items_code
  8. WHERE  vst.vstdate BETWEEN '2007-02-26' AND '2007-02-26' AND lhd.hn ='0114236'
  9. AND lor.lab_items_code IN (241,1003,1016,1024,1025,94,1028,58,1025,1026,1033,1029,1005)
  10. ORDER BY lor.lab_items_code ASC
จริงจะรอ อ.nayok มาช่วยตอบก่อน แต่รู้สึกว่าวันนี้ท่านคงไม่ว่างมาตอบให้ :)
Yindee And Tan