BMS-HOSxP Community

HOSxP => Report Exchange => ข้อความที่เริ่มโดย: kookkaija ที่ มิถุนายน 09, 2010, 08:33:58 AM

หัวข้อ: ขอคำแนะเรื่องjoin ตารางให้หน่อยครับ
เริ่มหัวข้อโดย: kookkaija ที่ มิถุนายน 09, 2010, 08:33:58 AM
พอดีได้รับโจทย์มาว่าให้หาแพทย์ผู้สั่ง Lumbar support ว่าใครแพทย์ท่านไหนสั่งบ้าง ชื่อผู้ป่วยด้วย
ก็ลองหัดนั่งแกะดูพอดีมันติดตรงหาแพทย์ผู้สั่งไม่ขึ้น ยังงัย รบกวน อ.ในบ้านช่วยต่อเติมให้สมบูรณ์ด้วครับ  ;) :)


SELECT opitemrece.vstdate, opitemrece.sum_price, patient.hn, patient.pname,
  patient.fname, patient.lname, nondrugitems.icode, nondrugitems.name
FROM opitemrece INNER JOIN
  patient ON opitemrece.hn = patient.hn RIGHT JOIN
  nondrugitems ON nondrugitems.icode = opitemrece.icode
WHERE opitemrece.vstdate BETWEEN '2009-04-01' AND '2010-12-31' AND
  nondrugitems.icode IN ('3001395', '3001394', '3001393')
ORDER BY opitemrece.vstdate

หัวข้อ: Re: ขอคำแนะเรื่องjoin ตารางให้หน่อยครับ
เริ่มหัวข้อโดย: naj ที่ มิถุนายน 09, 2010, 08:59:08 AM
แก้ไขให้แล้วครับ ลองทดสอบดู
โค๊ด: SQL
  1. SELECT opitemrece.vstdate, opitemrece.sum_price, patient.hn, patient.pname,opitemrece.doctor,doctor.name AS doctorname,
  2.   patient.fname, patient.lname, nondrugitems.icode, nondrugitems.name
  3. FROM opitemrece
  4. LEFT OUTER JOIN    patient ON opitemrece.hn = patient.hn
  5. LEFT OUTER  JOIN     nondrugitems ON nondrugitems.icode = opitemrece.icode
  6. LEFT OUTER JOIN doctor ON opitemrece.doctor=doctor.code
  7. WHERE opitemrece.vstdate BETWEEN '2009-04-01' AND '2010-12-31'
  8. AND nondrugitems.icode IN ('3001395', '3001394', '3001393')
  9. ORDER BY opitemrece.vstdate
  10.