ผู้เขียน หัวข้อ: ขอคำแนะนำการเขียนคำสั่ง SQL  (อ่าน 4667 ครั้ง)

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

ออฟไลน์ d^_^b►►ทิว

  • Sr. Member
  • ****
  • กระทู้: 315
  • หากินกับสายแลน สไปเดอร์แมน แดนอิสาน
  • Respect: 0
    • ดูรายละเอียด
ขอคำแนะนำการเขียนคำสั่ง SQL
« เมื่อ: กรกฎาคม 19, 2012, 09:31:36 AM »
0
ผมจะดึงข้อมูลผู้ป่วย คนแรกที่มารับบริการในแต่ล่ะวัน ว่า hn อะไร มาเวลาไหน หมอคนไหนตรวจ
ดึงเดือนล่ะครั้ง จะได้ข้อมูล เดือนล่ะ 30 รายการ  หรือวันล่ะรายการ(รายการที่มารับบริการแรกสุด)
ต้องเรียบเรียงคำสั่งยังไงครับ
"ไม่ได้เก่งเกินใคร แค่ทำได้ในสิ่งที่เรียนมา"
ทิวธวัชร  สุขมา  087-2337003
Server :IBM Ram 4 GB HDD 145 GB Mysql 5.1.39 Linux CentOs
Slave : Xeon 3.0 Ram 2 G HDD 120 GB MySQL 5.0.41 Linux CentOs
โรงพยาบาลโพนพิสัย จังหวัดหนองคาย เริ่มระบบ 26 พฤศภาคม 2550

ออฟไลน์ usa0823

  • Hero Member
  • *****
  • กระทู้: 773
  • Respect: +9
    • ดูรายละเอียด
Re: ขอคำแนะนำการเขียนคำสั่ง SQL
« ตอบกลับ #1 เมื่อ: กรกฎาคม 19, 2012, 09:48:35 AM »
0
select vstdate,vsttime,min(vn),hn from ovst
where vstdate between "xxxx-xx-xx" and "xxxx-xx-xx"
group by vstdate

น่าจะประมาณนี้ได้นะครับ อยากได้อย่างอื่นลองเพิ่มดูนะครับ
***************************************
นายศรัญญู  ชูเมือง
จพ.เภสัชกรรมชำนาญงาน
ดูแลระบบ โรงพยาบาลลานสกา
E-mail  Sarunyu0823@hotmail.com
..............................................................................
** HOSxP ver. 3.56.11.19d
** MySQL 5.6.17
** Activated 2560

ออฟไลน์ d^_^b►►ทิว

  • Sr. Member
  • ****
  • กระทู้: 315
  • หากินกับสายแลน สไปเดอร์แมน แดนอิสาน
  • Respect: 0
    • ดูรายละเอียด
Re: ขอคำแนะนำการเขียนคำสั่ง SQL
« ตอบกลับ #2 เมื่อ: กรกฎาคม 19, 2012, 10:06:44 AM »
0
ไม่ได้ครับ สังเกตุจากวันที่ 3 ไม่น่าจะเป็นไปได้ว่า คนไข้รายแรกจะมาตอน เกือบเที่ยง
อีกทั้ง vn ไม่สัมพันธ์กับ เวลา ครับ ดูจากเวลาแล้ว vn น่าจะเป็น 550703112246 น่ะครับ
พอจะมีวิธีอื่นไหมครับ
"ไม่ได้เก่งเกินใคร แค่ทำได้ในสิ่งที่เรียนมา"
ทิวธวัชร  สุขมา  087-2337003
Server :IBM Ram 4 GB HDD 145 GB Mysql 5.1.39 Linux CentOs
Slave : Xeon 3.0 Ram 2 G HDD 120 GB MySQL 5.0.41 Linux CentOs
โรงพยาบาลโพนพิสัย จังหวัดหนองคาย เริ่มระบบ 26 พฤศภาคม 2550

ออฟไลน์ golf_win

  • Hero Member
  • *****
  • กระทู้: 3,481
  • Respect: +112
    • ดูรายละเอียด
Re: ขอคำแนะนำการเขียนคำสั่ง SQL
« ตอบกลับ #3 เมื่อ: กรกฎาคม 19, 2012, 11:00:38 AM »
0
ลองแบบนี้ครับ

select min(vstdate),min(vsttime),min(vn),hn from ovst
where vstdate between "2012-05-01" and "2012-05-31"
group by vstdate
โรงพยาบาลเจ็ดเสมียน จังหวัดราชบุรี
Start 19-1-51    35 station
HOSxP  3.59.5.18 Activate License
Tel. 032-305096-7 ต่อ 118
Web. http://csmhos.thaiddns.com:8080
         http://csmhos.thaieasydns.com:8080

ออฟไลน์ woravet

  • Sr. Member
  • ****
  • กระทู้: 409
  • Respect: +12
    • ดูรายละเอียด
Re: ขอคำแนะนำการเขียนคำสั่ง SQL
« ตอบกลับ #4 เมื่อ: กรกฎาคม 19, 2012, 11:37:03 AM »
0
select a.vstdate,o.vsttime,a.vn
,pt.pname,pt.fname,pt.lname
,o.doctor,dr.name doctorname
,v.pdx
from (select vstdate,min(vn) vn
from ovst
where vstdate between '2012-1-1' and '2012-1-31'
group by vstdate) a
left join ovst o on a.vn=o.vn
left join vn_stat v on o.vn=v.vn
left join patient pt on o.hn=pt.hn
left join doctor dr on o.doctor=dr.code

ประมาณนี้มั๊ย
รพ.บึงสามัคคี จ.กำแพงเพชร
*********************
อ.สุชัยและคณะ ขึ้นระบบ 29 ตค.49(Linux+Fedara 5)
*********************
ปัจจุบัน
HOSxP version 3.53.4.27
Server:Windows XP SP2,MySQL 5
Client ประมาณ 15 เครื่อง