ผู้เขียน หัวข้อ: ผมคิด code sql ไ่ม่ทราบว่าถูกต้องหรือไม่ครับ  (อ่าน 3307 ครั้ง)

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

ออฟไลน์ @_MY_NAME_IS_AM_@

  • Jr. Member
  • **
  • กระทู้: 75
  • Respect: 0
    • ดูรายละเอียด
    • โรงพยาบาลเทพรัตน์นครราชสีมา
ผมจะสุ่มหาเวลาทั้งหมด 100 คน ที่มารับบริการ ลบด้วยเวลาที่แพทย์ตรวจ ในเวลาราชการครับ
ผมไปดูฟิลด์เวลาผมก็งงๆ
ตามที่ผมเข้าใจ

service5 = แพทย์เริ่มตรวจ
service7 = เวลาที่การเงินเก็บเงิน (จะมีปัญหาไหมครับ ถ้าเป็นคนที่ใช้สิทธิแล้วไม่ได้ปริ๊นใบเสร็จ)
service12 = แพทย์ตรวจเสร็จ

ผมเข้าใจถูกไหมครับ รบกวนพี่ๆด้วยครับผม

select s.hn, s.vstdate, s.vsttime, s.service7 as Endtime,s.service5 as DoctorExam,s.service12 as DoctorExamFinish,
sec_to_time(time_to_sec(service7)-time_to_sec(vsttime)) as Totaltime,
sec_to_time(time_to_sec(service12)-time_to_sec(service5)) as doctor2finishdoctor,
sec_to_time((time_to_sec(service7)-time_to_sec(vsttime)) - (time_to_sec(service12)-time_to_sec(service5))) as TotaltimeFinished
from service_time s
where s.vstdate between '2013-04-04' and '2013-04-04'
and vsttime between '08:00:00' and '16:00:00'
and service7 is not null
and (time_to_sec(service12)-time_to_sec(service5)) is not null
order by rand()
limit 100
« แก้ไขครั้งสุดท้าย: เมษายน 06, 2013, 10:08:07 AM โดย @_MY_NAME_IS_AM_@ »
นาย ธีรวัฒน์  รัตนวิชัย 
นักวิชาการคอมพิวเตอร์
รพ.เทพรัตน์นครราชสีมา ขนาด 200 เตียง
            
Web site ::: http://dnrh.go.th :::          E-mail ::: it23839@gmail.com :::

Master Server ::: IBM System X3650 M3 RAM 16 G & CENT OS 5.5 & MySQL 5.5.11-55

ออฟไลน์ mashimaro

  • Sr. Member
  • ****
  • กระทู้: 372
  • ทำทุกอย่างให้เต็มที่ ที่สุดแม้มันจะยากสักเท่าไหร่ เราจะผ่านมันไปได้
  • Respect: +8
    • ดูรายละเอียด
Re: ผมคิด code sql ไ่ม่ทราบว่าถูกต้องหรือไม่ครับ
« ตอบกลับ #1 เมื่อ: เมษายน 08, 2013, 12:16:49 PM »
0
ผมจะสุ่มหาเวลาทั้งหมด 100 คน ที่มารับบริการ ลบด้วยเวลาที่แพทย์ตรวจ ในเวลาราชการครับ
ผมไปดูฟิลด์เวลาผมก็งงๆ
ตามที่ผมเข้าใจ

service5 = แพทย์เริ่มตรวจ
service7 = เวลาที่การเงินเก็บเงิน (จะมีปัญหาไหมครับ ถ้าเป็นคนที่ใช้สิทธิแล้วไม่ได้ปริ๊นใบเสร็จ)
service12 = แพทย์ตรวจเสร็จ

ผมเข้าใจถูกไหมครับ รบกวนพี่ๆด้วยครับผม

select s.hn, s.vstdate, s.vsttime, s.service7 as Endtime,s.service5 as DoctorExam,s.service12 as DoctorExamFinish,
sec_to_time(time_to_sec(service7)-time_to_sec(vsttime)) as Totaltime,
sec_to_time(time_to_sec(service12)-time_to_sec(service5)) as doctor2finishdoctor,
sec_to_time((time_to_sec(service7)-time_to_sec(vsttime)) - (time_to_sec(service12)-time_to_sec(service5))) as TotaltimeFinished
from service_time s
where s.vstdate between '2013-04-04' and '2013-04-04'
and vsttime between '08:00:00' and '16:00:00'
and service7 is not null
and (time_to_sec(service12)-time_to_sec(service5)) is not null
order by rand()
limit 100


ใช้สิทธิ์แล้วไม่เรียกเก็บเงินจึงไม่พิมพ์ใบเสร็จ อาจจะเข้าเงื่อนไขนี้น่ะครับ คนไข้ไม่มารับยาแล้วไม่พิมพ์ใบเสร็จรับเงินครับ ตรวจสอบได้จาก Print Field ตาราง opitemrece ครับ
Mashimaro
นักวิชาการคอมพิวเตอร์ โรงพยาบาลแม่สอด ตาก (รพท.420 เตียง)
เริ่มใช้ HOSxP มกราคม 2554 ปัจจุบันใช้ HOSxP V.3.54.1.3 วันที่ 8 ก.พ. 54
Main Server  :  Server OS Linux CentOS 5.5  MySQL
Slave Server  :  Server OS Linux CentOS 5.5  MySQL 5.1.23  HP Proliant ML150G3 Server
           Intel Xeon 5130 Dual Core Processor 2 GHz HDD 147 GB RAM 4 GB
ขึ้นระบบ  โดย บ.BMS  มกราคม 54   เข้าทำงานใน รพ. สิงหาคม 53
ขอขอบคุณ ทีมงานขึ้นระบบของคุณวินัย
งานหนักไม่เคยฆ่าคน
e-mail:  amnat_kalwtunkum@hotmail.com

ออฟไลน์ @_MY_NAME_IS_AM_@

  • Jr. Member
  • **
  • กระทู้: 75
  • Respect: 0
    • ดูรายละเอียด
    • โรงพยาบาลเทพรัตน์นครราชสีมา
Re: ผมคิด code sql ไ่ม่ทราบว่าถูกต้องหรือไม่ครับ
« ตอบกลับ #2 เมื่อ: เมษายน 10, 2013, 12:10:50 PM »
0
ผมจะสุ่มหาเวลาทั้งหมด 100 คน ที่มารับบริการ ลบด้วยเวลาที่แพทย์ตรวจ ในเวลาราชการครับ
ผมไปดูฟิลด์เวลาผมก็งงๆ
ตามที่ผมเข้าใจ

service5 = แพทย์เริ่มตรวจ
service7 = เวลาที่การเงินเก็บเงิน (จะมีปัญหาไหมครับ ถ้าเป็นคนที่ใช้สิทธิแล้วไม่ได้ปริ๊นใบเสร็จ)
service12 = แพทย์ตรวจเสร็จ

ผมเข้าใจถูกไหมครับ รบกวนพี่ๆด้วยครับผม

select s.hn, s.vstdate, s.vsttime, s.service7 as Endtime,s.service5 as DoctorExam,s.service12 as DoctorExamFinish,
sec_to_time(time_to_sec(service7)-time_to_sec(vsttime)) as Totaltime,
sec_to_time(time_to_sec(service12)-time_to_sec(service5)) as doctor2finishdoctor,
sec_to_time((time_to_sec(service7)-time_to_sec(vsttime)) - (time_to_sec(service12)-time_to_sec(service5))) as TotaltimeFinished
from service_time s
where s.vstdate between '2013-04-04' and '2013-04-04'
and vsttime between '08:00:00' and '16:00:00'
and service7 is not null
and (time_to_sec(service12)-time_to_sec(service5)) is not null
order by rand()
limit 100


ใช้สิทธิ์แล้วไม่เรียกเก็บเงินจึงไม่พิมพ์ใบเสร็จ อาจจะเข้าเงื่อนไขนี้น่ะครับ คนไข้ไม่มารับยาแล้วไม่พิมพ์ใบเสร็จรับเงินครับ ตรวจสอบได้จาก Print Field ตาราง opitemrece ครับ

ฉะนั้น แล้ว ผมจะต้องทำ อย่างไรที่ข้อมูลจะสมบูรณ์ ที่สุดครับ ผมเห็นบางท่านก็ใช้เป็น service6 ตอนสุดท้ายน่ะครับ แล้ว service6 คือจุดบริการอะไรครับ รบกวนด้วยครับ
นาย ธีรวัฒน์  รัตนวิชัย 
นักวิชาการคอมพิวเตอร์
รพ.เทพรัตน์นครราชสีมา ขนาด 200 เตียง
            
Web site ::: http://dnrh.go.th :::          E-mail ::: it23839@gmail.com :::

Master Server ::: IBM System X3650 M3 RAM 16 G & CENT OS 5.5 & MySQL 5.5.11-55