ผู้เขียน หัวข้อ: รบกวนอาจารย์ทั้งหลายดูคำสั่ง SQL ให้หน่อยคับ  (อ่าน 6074 ครั้ง)

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

ออฟไลน์ gweeped

  • Sr. Member
  • ****
  • กระทู้: 254
  • ขอบคุณทุกคน กับสังคมดีๆ ใน HosXP
  • Respect: +2
    • ดูรายละเอียด
    • TAKBAI HOSPITAL FANPAGE
คือต้องการแสดงข้อมูลข้อผู้ป่วยที่มารับบริการ ซึ่งสามารถเลือกเฉพาะประเภทต่างๆได้
<สามารถเลือกตรง er_pt_type ได้>

ช่วยดูคำสั่ง SQL หน่อยฮะว่ามีส่วนไหนผิดรึป่าว
เพราะมันแสดงข้อมูลซ้ำออกมาฮะ

อ้างถึง
select pt.pname, pt.fname, pt.lname,pt.informaddr, er_list, er_dch_type.name ,YEAR( FROM_DAYS( DATEDIFF( NOW( ) , pt.birthday ) ) ) as Age ,
from vn_stat ov ,patient pt ,er_regist rg ,er_dch_type , er_oper_code
where  ov.vn=rg.vn and pt.hn=ov.hn  and  er_pt_type= '5'

ผลตรงที่เป็น er_dch_type.name
มันออกมาซ้ำๆฮะ

Nirafeeda Binnima
Systems Admin
Takbai Hospital
MASTER SERVER :
IBM System x3550 M4
CentOS 6.3
MySQL version 5.6.15-56
SLAVE SERVER :
HP Proliant DL160 Gen8
CentOS Linux 5.3
MySQL version 5.6.15-56
ขึ้นระบบโดย BMS TEAM ปี 47
เริ่มงานและเริ่มรู้จัก HosXP 1 กค. 2011

ออฟไลน์ เกื้อกูล ครับ..

  • Hero Member
  • *****
  • กระทู้: 12,611
  • Respect: +169
    • ดูรายละเอียด
    • โรงพยาบาลปากท่อ
Re: รบกวนอาจารย์ทั้งหลายดูคำสั่ง SQL ให้หน่อยคับ
« ตอบกลับ #1 เมื่อ: กรกฎาคม 06, 2011, 11:48:49 AM »
0
  " , "  เกินมา  หน้า   from  vn_stat

ไม่น่า นำ er_list มาด้วย  ทุก vn มีหลายกิจกรรม

group  by ov.vn ซะครับ...
« แก้ไขครั้งสุดท้าย: กรกฎาคม 06, 2011, 12:00:45 PM โดย เกื้อกูล ครับ.. »
Implement  HOSxP  Start 2548 ---> NOW!
Station : 140 Client   V.3 Version  3.67.7.8
Server  : CENTOS 7 +MySQL maria 10.x.x

ออฟไลน์ มนตรี บอยรักยุ้ยคนเดียว

  • Hero Member
  • *****
  • กระทู้: 5,369
  • Respect: +12
    • ดูรายละเอียด
    • โรงพยาบาลชุมชน ด่านมะขามเตี้ย
Re: รบกวนอาจารย์ทั้งหลายดูคำสั่ง SQL ให้หน่อยคับ
« ตอบกลับ #2 เมื่อ: กรกฎาคม 06, 2011, 11:59:32 AM »
0
  " , "  เกินมา  หน้า   from  vn_stat

ตาดีนะครับ

select pt.pname, pt.fname, pt.lname,pt.informaddr, er_list, er_dch_type.name ,YEAR( FROM_DAYS( DATEDIFF( NOW( ) , pt.birthday ) ) ) as Age from vn_stat ov ,patient pt ,er_regist rg ,er_dch_type , er_oper_code
where  ov.vn=rg.vn and pt.hn=ov.hn  and  er_pt_type= '5'
เริ่ม11พย.2548OPD-Paperlessพร้อมHOSxPลดโลกร้อน
IPD-Lesspaper1ตค2560ระบบDmsByNeoNetwork
IPD-Paperless1พ.ค2562ระบบHOSxPXE4
MT-Oracle9.3+MariaDB-10.4.xx,SL-Oracle9.3+MariaDB-11.0.xx
LOG=MySQL-8.4.xx,INV=PostgreSQL11

ออฟไลน์ gweeped

  • Sr. Member
  • ****
  • กระทู้: 254
  • ขอบคุณทุกคน กับสังคมดีๆ ใน HosXP
  • Respect: +2
    • ดูรายละเอียด
    • TAKBAI HOSPITAL FANPAGE
Re: รบกวนอาจารย์ทั้งหลายดูคำสั่ง SQL ให้หน่อยคับ
« ตอบกลับ #3 เมื่อ: กรกฎาคม 06, 2011, 13:13:17 PM »
0
  " , "  เกินมา  หน้า   from  vn_stat

ไม่น่า นำ er_list มาด้วย  ทุก vn มีหลายกิจกรรม

group  by ov.vn ซะครับ...

แหะๆ คอมม่านี้เหนแล้วฮะตอนรันมันพ้องเออเร่อมาแล้ว T^T

ที่เอา er_list มาด้วยเพราะอยากได้ การรักษา
อ้ออีกอย่างคับ อยากได้ อาการด้วย ต้องไปดึงฟิลมาจาก table ไหนฮ่ะ

ปล.ลองรันออกมาแล้วหน้าตามันเป็นเยี่ยงนี้อ่ะครับ
ซึ่งผลมันยังผิดอยู่ เพราะสถานะที่แสดงมันต้องเป็น 'กลับบ้าน' ฮะ  ???

« แก้ไขครั้งสุดท้าย: กรกฎาคม 06, 2011, 13:23:20 PM โดย gweeped »
Nirafeeda Binnima
Systems Admin
Takbai Hospital
MASTER SERVER :
IBM System x3550 M4
CentOS 6.3
MySQL version 5.6.15-56
SLAVE SERVER :
HP Proliant DL160 Gen8
CentOS Linux 5.3
MySQL version 5.6.15-56
ขึ้นระบบโดย BMS TEAM ปี 47
เริ่มงานและเริ่มรู้จัก HosXP 1 กค. 2011

ออฟไลน์ เกื้อกูล ครับ..

  • Hero Member
  • *****
  • กระทู้: 12,611
  • Respect: +169
    • ดูรายละเอียด
    • โรงพยาบาลปากท่อ
Re: รบกวนอาจารย์ทั้งหลายดูคำสั่ง SQL ให้หน่อยคับ
« ตอบกลับ #4 เมื่อ: กรกฎาคม 06, 2011, 13:15:12 PM »
0
  " , "  เกินมา  หน้า   from  vn_stat

ไม่น่า นำ er_list มาด้วย  ทุก vn มีหลายกิจกรรม

group  by ov.vn ซะครับ...

แหะๆ คอมม่านี้เหนแล้วฮะตอนรันมันพ้องเออเร่อมาแล้ว T^T

ที่เอา er_list มาด้วยเพราะอยากได้ การรักษา
อ้ออีกอย่างคับ อยากได้ อาการด้วย ต้องไปดึงฟิลมาจาก table ไหนฮ่ะ

opdscreen ครับ...จับค่าที่ vn กับ vn ใน er_regist
Implement  HOSxP  Start 2548 ---> NOW!
Station : 140 Client   V.3 Version  3.67.7.8
Server  : CENTOS 7 +MySQL maria 10.x.x

ออฟไลน์ gweeped

  • Sr. Member
  • ****
  • กระทู้: 254
  • ขอบคุณทุกคน กับสังคมดีๆ ใน HosXP
  • Respect: +2
    • ดูรายละเอียด
    • TAKBAI HOSPITAL FANPAGE
Re: รบกวนอาจารย์ทั้งหลายดูคำสั่ง SQL ให้หน่อยคับ
« ตอบกลับ #5 เมื่อ: กรกฎาคม 06, 2011, 13:36:13 PM »
0
  " , "  เกินมา  หน้า   from  vn_stat

ไม่น่า นำ er_list มาด้วย  ทุก vn มีหลายกิจกรรม

group  by ov.vn ซะครับ...

แหะๆ คอมม่านี้เหนแล้วฮะตอนรันมันพ้องเออเร่อมาแล้ว T^T

ที่เอา er_list มาด้วยเพราะอยากได้ การรักษา
อ้ออีกอย่างคับ อยากได้ อาการด้วย ต้องไปดึงฟิลมาจาก table ไหนฮ่ะ

opdscreen ครับ...จับค่าที่ vn กับ vn ใน er_regist

ขอทำความเข้าใจและลองก่อนฮะ  ???
งงมากเพราะ เพิ่งมาจับ sql ในรอบห้าปี
ทิ้งไปตั้งแต่สอบเส็ดตั้งแต่ตอนที่่เรียนเมื่อปีสาม
เพราะไม่คิดว่าตัวเองจะมาทำสายนี้ T__T
Nirafeeda Binnima
Systems Admin
Takbai Hospital
MASTER SERVER :
IBM System x3550 M4
CentOS 6.3
MySQL version 5.6.15-56
SLAVE SERVER :
HP Proliant DL160 Gen8
CentOS Linux 5.3
MySQL version 5.6.15-56
ขึ้นระบบโดย BMS TEAM ปี 47
เริ่มงานและเริ่มรู้จัก HosXP 1 กค. 2011

ออฟไลน์ เกื้อกูล ครับ..

  • Hero Member
  • *****
  • กระทู้: 12,611
  • Respect: +169
    • ดูรายละเอียด
    • โรงพยาบาลปากท่อ
Re: รบกวนอาจารย์ทั้งหลายดูคำสั่ง SQL ให้หน่อยคับ
« ตอบกลับ #6 เมื่อ: กรกฎาคม 06, 2011, 13:45:03 PM »
0
เอา from er_dch_type เป็นตารางหลักซิ...จะเร็วขึ้น...

join  er_regist    vn

join ovst    vn

join patient ที่  hn ของ patient=er_ovst.hn

where  vstdate between "xxxx-xx-xx"  and "yyyy-yy-yy"  and er_dch_type ="5"
Implement  HOSxP  Start 2548 ---> NOW!
Station : 140 Client   V.3 Version  3.67.7.8
Server  : CENTOS 7 +MySQL maria 10.x.x

ออฟไลน์ gweeped

  • Sr. Member
  • ****
  • กระทู้: 254
  • ขอบคุณทุกคน กับสังคมดีๆ ใน HosXP
  • Respect: +2
    • ดูรายละเอียด
    • TAKBAI HOSPITAL FANPAGE
Re: รบกวนอาจารย์ทั้งหลายดูคำสั่ง SQL ให้หน่อยคับ
« ตอบกลับ #7 เมื่อ: กรกฎาคม 07, 2011, 09:51:31 AM »
0
สรุปใช้ query builder ช่วยฮะ แล้วเอามาแต่งเพิ่ม
ออกมาเลยกลายเป็นแบบนี้ฮะ

SELECT patient.pname, patient.fname, patient.lname, patient.informaddr, er_list,er_dch_type.name, opdscreen.cc , YEAR( FROM_DAYS( DATEDIFF( NOW( ) , patient.birthday ) ) ) as Age
FROM er_regist INNER JOIN
  er_dch_type ON er_dch_type.er_dch_type = er_regist.er_dch_type INNER JOIN
  vn_stat ON vn_stat.vn = er_regist.vn INNER JOIN
  patient ON vn_stat.hn = patient.hn INNER JOIN
  opdscreen ON opdscreen.vn = er_regist.vn
GROUP BY vn_stat.vn, patient.pname, patient.fname, patient.lname,
  patient.birthday, patient.informaddr, er_regist.er_pt_type, opdscreen.cc
HAVING er_regist.er_pt_type = 5
Nirafeeda Binnima
Systems Admin
Takbai Hospital
MASTER SERVER :
IBM System x3550 M4
CentOS 6.3
MySQL version 5.6.15-56
SLAVE SERVER :
HP Proliant DL160 Gen8
CentOS Linux 5.3
MySQL version 5.6.15-56
ขึ้นระบบโดย BMS TEAM ปี 47
เริ่มงานและเริ่มรู้จัก HosXP 1 กค. 2011

ออฟไลน์ udomchok

  • Hero Member
  • *****
  • กระทู้: 8,358
  • Respect: +589
    • ดูรายละเอียด
    • ร.พ.สมเด็จพระสังฆราช องค์ที่ 17
Re: รบกวนอาจารย์ทั้งหลายดูคำสั่ง SQL ให้หน่อยคับ
« ตอบกลับ #8 เมื่อ: กรกฎาคม 07, 2011, 19:55:43 PM »
0
สรุปใช้ query builder ช่วยฮะ แล้วเอามาแต่งเพิ่ม
ออกมาเลยกลายเป็นแบบนี้ฮะ

SELECT patient.pname, patient.fname, patient.lname, patient.informaddr, er_list,er_dch_type.name, opdscreen.cc , YEAR( FROM_DAYS( DATEDIFF( NOW( ) , patient.birthday ) ) ) as Age
FROM er_regist INNER JOIN
  er_dch_type ON er_dch_type.er_dch_type = er_regist.er_dch_type INNER JOIN
  vn_stat ON vn_stat.vn = er_regist.vn INNER JOIN
  patient ON vn_stat.hn = patient.hn INNER JOIN
  opdscreen ON opdscreen.vn = er_regist.vn
GROUP BY vn_stat.vn, patient.pname, patient.fname, patient.lname,
  patient.birthday, patient.informaddr, er_regist.er_pt_type, opdscreen.cc
HAVING er_regist.er_pt_type = 5
ระวังเรื่อง "อายุ" นิดหนึ่งครับ
ควรใช้อายุ ณ วันที่มารับการรักษาครับ
อาจใช้ GetThaiAge ใน report designer แทนก็ได้ครับ
ทำด้วยหัวใจร.พ.สมเด็จพระสังฆราช องค์ที่ 17 อ.สองพี่น้อง จ.สุพรรณบุรี
อบรมโดย BMS Team เมื่อ พ.ย. 49 ขึ้นระบบห้องบัตรเมื่อ X'Mas 2007
2008 : X-Ray กายภาพบำบัด แพทย์แผนไทย กิจกรรมบำบัด OPD ตา
2009 : ทันตกรรม ห้องตรวจตา OPD (พยาบาลและห้องตรวจแพทย์บางห้อง)