ผู้เขียน หัวข้อ: สงสัย 2 คำสั่งนี้หา VN ได้ไม่เท่ากันครับ  (อ่าน 4302 ครั้ง)

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

ออฟไลน์ panus_t

  • Hero Member
  • *****
  • กระทู้: 2,368
  • Respect: +8
    • ดูรายละเอียด
0
สงสัย 2 คำสั่งนี้หา VN ได้ไม่เท่ากันครับ
1.คำสั่งจาก Custom Search จะได้ VN=114,887
select pt.*,ov.*
from vn_stat ov ,patient pt ,ovst ovst
where  ov.vn=ovst.vn and pt.hn=ov.hn and ov.vstdate between "2007-10-01" and  "2008-09-30" and ov.hn=pt.hn

2.คำสั่งเขียนเอง จะได้ VN=118,343
select count(v.vn) as countVN
from ovst o
left outer join vn_stat v on v.vn=o.vn
where v.vstdate between "2007-10-01" and "2008-09-30"
 ;D
โรงพยาบาลเสิงสาง จ.นครราชสีมา (ขนาด  60  เตียง ปี2554)  ขึ้นระบบโดยทีมงาน BMS  เมื่อเดือนเมษายน 2551
ก่อนหน้านั้นขึ้นระบบเมื่อ 07/07/07 ฤกษ์ดี  Master Server  IBM System x3500M4  RAM ECC 24 GB. HardDisk SAS 450x3 GB. ServerRAID M1100 Series Zero RAID5  OS:CentOS 6.4  MySQLPercona : 5.5.30-30.1

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

  • Hero Member
  • *****
  • กระทู้: 12,611
  • Respect: +169
    • ดูรายละเอียด
    • โรงพยาบาลปากท่อ
Re: สงสัย 2 คำสั่งนี้หา VN ได้ไม่เท่ากันครับ
« ตอบกลับ #1 เมื่อ: กรกฎาคม 08, 2014, 09:31:59 AM »
0
สงสัย 2 คำสั่งนี้หา VN ได้ไม่เท่ากันครับ
1.คำสั่งจาก Custom Search จะได้ VN=114,887
select pt.*,ov.*
from vn_stat ov ,patient pt ,ovst ovst
where  ov.vn=ovst.vn and pt.hn=ov.hn and ov.vstdate between "2007-10-01" and  "2008-09-30" and ov.hn=pt.hn

2.คำสั่งเขียนเอง จะได้ VN=118,343
select count(v.vn) as countVN
from ovst o
left outer join vn_stat v on v.vn=o.vn
where v.vstdate between "2007-10-01" and "2008-09-30"
 ;D


คนละตาราง   ต้องนับจากตารางเดียวกันสิครับ
Implement  HOSxP  Start 2548 ---> NOW!
Station : 130 Client   V.3 Version  3.67.1.XX
Server  : CENTOS  +MySQL maria 10.x.x

ออฟไลน์ panus_t

  • Hero Member
  • *****
  • กระทู้: 2,368
  • Respect: +8
    • ดูรายละเอียด
Re: สงสัย 2 คำสั่งนี้หา VN ได้ไม่เท่ากันครับ
« ตอบกลับ #2 เมื่อ: กรกฎาคม 08, 2014, 10:42:02 AM »
0
สงสัย 2 คำสั่งนี้หา VN ได้ไม่เท่ากันครับ
1.คำสั่งจาก Custom Search จะได้ VN=114,887
select pt.*,ov.*
from vn_stat ov ,patient pt ,ovst ovst
where  ov.vn=ovst.vn and pt.hn=ov.hn and ov.vstdate between "2007-10-01" and  "2008-09-30" and ov.hn=pt.hn

2.คำสั่งเขียนเอง จะได้ VN=118,343
select count(v.vn) as countVN
from ovst o
left outer join vn_stat v on v.vn=o.vn
where v.vstdate between "2007-10-01" and "2008-09-30"
 ;D


คนละตาราง   ต้องนับจากตารางเดียวกันสิครับ

นับจากตาราง VN_Stat เหรอครับ
select count(v.vn) as countVN
from vn_stat v
left outer join ovst o on o.vn=v.vn
where v.vstdate between "2007-10-01" and "2008-09-30"
แบบนี้ก็ได้ 118,343  เหมือนเดิม
หรือว่าผมยังไม่เข้าใจ  ???
โรงพยาบาลเสิงสาง จ.นครราชสีมา (ขนาด  60  เตียง ปี2554)  ขึ้นระบบโดยทีมงาน BMS  เมื่อเดือนเมษายน 2551
ก่อนหน้านั้นขึ้นระบบเมื่อ 07/07/07 ฤกษ์ดี  Master Server  IBM System x3500M4  RAM ECC 24 GB. HardDisk SAS 450x3 GB. ServerRAID M1100 Series Zero RAID5  OS:CentOS 6.4  MySQLPercona : 5.5.30-30.1

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

  • Hero Member
  • *****
  • กระทู้: 12,611
  • Respect: +169
    • ดูรายละเอียด
    • โรงพยาบาลปากท่อ
Re: สงสัย 2 คำสั่งนี้หา VN ได้ไม่เท่ากันครับ
« ตอบกลับ #3 เมื่อ: กรกฎาคม 08, 2014, 10:51:48 AM »
0
118,343   ตรงกัน ก็ถูกต้องแล้วนี่คัรบ..

นับจากตารางไหน ก็ต้องได้ผลลัพธ์เดียวกันจาก SQL Count(vn)

แต่โพสต์แรก มันคนละตาราง คนละรูปแบบ SQL
Implement  HOSxP  Start 2548 ---> NOW!
Station : 130 Client   V.3 Version  3.67.1.XX
Server  : CENTOS  +MySQL maria 10.x.x