BMS-HOSxP Community

HOSxP => การเขียน SQL Script => ข้อความที่เริ่มโดย: C H O K E ที่ กุมภาพันธ์ 24, 2012, 10:14:32 AM

หัวข้อ: ช่วยดู script ให้บ้างนะครับ ให้คำนวณวันส่ง chart ช้าแต่ไม่นับวันหยุด
เริ่มหัวข้อโดย: C H O K E ที่ กุมภาพันธ์ 24, 2012, 10:14:32 AM
SELECT i.an,i.hn,i.regdate,w.`name`as wardname,i.dchdate,i.receive_chart_date_time
,month(i.receive_chart_date_time)-month(i.dchdate) as monthcount,day(i.receive_chart_date_time)-day(i.dchdate) as datecount,d.`name` as doctorname FROM ipt i
left join ward w on w.ward=i.ward
left join doctor d on d.`code`=i.dch_doctor
WHERE i.dchdate BETWEEN '2011-10-01' and '2011-10-31'

HAVING datecount>'7'

จะให้ไม่เอาวันหยุดที่เราใส่ไว้ในตาราง holiday มาคิด จะใส่คำสั่งแบบไหนดีครับ ขอบคุณครับ
หัวข้อ: Re: ช่วยดู script ให้บ้างนะครับ ให้คำนวณวันส่ง chart ช้าแต่ไม่นับวันหยุด
เริ่มหัวข้อโดย: yokyai ที่ กุมภาพันธ์ 24, 2012, 11:07:54 AM
SELECT i.an,i.hn,i.regdate,w.`name`as wardname,i.dchdate,i.receive_chart_date_time
,month(i.receive_chart_date_time)-month(i.dchdate) as monthcount,day(i.receive_chart_date_time)-day(i.dchdate) as datecount,d.`name` as doctorname FROM ipt i
left join ward w on w.ward=i.ward
left join doctor d on d.`code`=i.dch_doctor
WHERE i.dchdate BETWEEN '2011-10-01' and '2011-10-31'

HAVING datecount>'7'

จะให้ไม่เอาวันหยุดที่เราใส่ไว้ในตาราง holiday มาคิด จะใส่คำสั่งแบบไหนดีครับ ขอบคุณครับ
เพิ่มเงื่อนไขได้ไหมครับว่า and i.dchdate not in (select holiday_date from holiday) น่าจะได้ ลองดู
หัวข้อ: Re: ช่วยดู script ให้บ้างนะครับ ให้คำนวณวันส่ง chart ช้าแต่ไม่นับวันหยุด
เริ่มหัวข้อโดย: C H O K E ที่ กุมภาพันธ์ 24, 2012, 13:06:33 PM
ก็ยังไม่ได้นะครับ

คือผมต้องการให้เวลาเราคำนวณค่าออกมาเป็น สมมมุติว่า datecount = 10 ในค่า 10 นี้ไม่ให้นับวันหยุดที่อยู่ในตาราง holiday นะครับ

day(i.receive_chart_date_time)-day(i.dchdate) as datecount ตรงนี้นะครับ ทำไงให้ไม่เอาวันหยุดมาคำนวณด้วยนะครับ
หัวข้อ: Re: ช่วยดู script ให้บ้างนะครับ ให้คำนวณวันส่ง chart ช้าแต่ไม่นับวันหยุด
เริ่มหัวข้อโดย: chitvichai ที่ กุมภาพันธ์ 24, 2012, 13:44:37 PM
ก็ยังไม่ได้นะครับ

คือผมต้องการให้เวลาเราคำนวณค่าออกมาเป็น สมมมุติว่า datecount = 10 ในค่า 10 นี้ไม่ให้นับวันหยุดที่อยู่ในตาราง holiday นะครับ

day(i.receive_chart_date_time)-day(i.dchdate) as datecount ตรงนี้นะครับ ทำไงให้ไม่เอาวันหยุดมาคำนวณด้วยนะครับ
อ้างถึง
แต่ตารางวันหยุดต้องมีวันหยุดครบนะครับ
โค๊ด: [Select]

day(i.receive_chart_date_time)-day(i.dchdate) as `นับรวมวันหยุด`,
(select count(x.*) from holiday x
where x.holidaydate between i.dchdate and i.recive_chart_date_time) as `นับวันหยุด`,
day(i.receive_chart_date_time)-day(i.dchdate)-
(select count(x.*) from holiday x
where x.holidaydate between i.dchdate and i.recive_chart_date_time) as `ไม่นับวันหยุด`
หัวข้อ: Re: ช่วยดู script ให้บ้างนะครับ ให้คำนวณวันส่ง chart ช้าแต่ไม่นับวันหยุด
เริ่มหัวข้อโดย: C H O K E ที่ กุมภาพันธ์ 24, 2012, 14:33:35 PM
 :) ขอบคุณครับ