BMS-HOSxP Community

HOSxP => Report Exchange => ข้อความที่เริ่มโดย: panus_t ที่ พฤศจิกายน 03, 2014, 16:34:40 PM

หัวข้อ: งง กับ 2 คำสั่งนี้ครับ
เริ่มหัวข้อโดย: panus_t ที่ พฤศจิกายน 03, 2014, 16:34:40 PM
งง กับ 2 คำสั่งนี้ครับ
1.หาจำนวน Visit OPD ได้ 135220
select count(v.vn)
from ovst o
left outer join vn_stat v on v.vn=o.vn
where o.vstdate between "2013-10-01" and "2014-09-30"
2.หาจำนวน Visit OPD แยกตามแผนกได้ 135219
select v.spclty,s.name,count(v.vn) as c_vn
from ovst o
left outer join vn_stat v on v.vn=o.vn
left outer join spclty s on s.spclty=v.spclty
where v.vstdate between "2013-10-01" and "2014-09-30"
group by v.spclty
order by s.name asc
 ??? ???
หัวข้อ: Re: งง กับ 2 คำสั่งนี้ครับ
เริ่มหัวข้อโดย: udomchok ที่ พฤศจิกายน 04, 2014, 00:22:42 AM
ลองเปลี่ยนไปใช้ inner join หรือ join แทนสิครับ แล้วเปรียบเทียบอีกที
หัวข้อ: Re: งง กับ 2 คำสั่งนี้ครับ
เริ่มหัวข้อโดย: bannok ที่ พฤศจิกายน 04, 2014, 08:49:37 AM
งง กับ 2 คำสั่งนี้ครับ
1.หาจำนวน Visit OPD ได้ 135220
select count(v.vn)
from ovst o
left outer join vn_stat v on v.vn=o.vn
where o.vstdate between "2013-10-01" and "2014-09-30"
2.หาจำนวน Visit OPD แยกตามแผนกได้ 135219
select v.spclty,s.name,count(v.vn) as c_vn
from ovst o
left outer join vn_stat v on v.vn=o.vn
left outer join spclty s on s.spclty=v.spclty
where v.vstdate between "2013-10-01" and "2014-09-30"
group by v.spclty
order by s.name asc
 ??? ???


ของผมได้เท่ากันนะครับ
หัวข้อ: Re: งง กับ 2 คำสั่งนี้ครับ
เริ่มหัวข้อโดย: เกื้อกูล ครับ.. ที่ พฤศจิกายน 04, 2014, 08:51:49 AM
อาจมีบาง ovst .vn   แผนกปลายทางนั้นไม่ได้ผูก  spclty ไว้...หรือไม่
หัวข้อ: Re: งง กับ 2 คำสั่งนี้ครับ
เริ่มหัวข้อโดย: snhosxp ที่ พฤศจิกายน 04, 2014, 11:56:06 AM
ผม งง ว่าจะเอาตาราง vn_stat มาเชื่อมทำไมในเมื่อตาราง ovst ก็มีทุกฟิลที่ต้องการแล้ว แต่เท่าที่ดูข้อ 2 ลองเช็คฟิล spclty ดูว่ามี record ไหนเป็นค่าว่างหรือป่าวเพราะของผมมีว่างเยอะมากเลยดึงออกมาไม่เท่ากัน
หัวข้อ: Re: งง กับ 2 คำสั่งนี้ครับ
เริ่มหัวข้อโดย: panus_t ที่ พฤศจิกายน 05, 2014, 10:12:10 AM
ผม งง ว่าจะเอาตาราง vn_stat มาเชื่อมทำไมในเมื่อตาราง ovst ก็มีทุกฟิลที่ต้องการแล้ว แต่เท่าที่ดูข้อ 2 ลองเช็คฟิล spclty ดูว่ามี record ไหนเป็นค่าว่างหรือป่าวเพราะของผมมีว่างเยอะมากเลยดึงออกมาไม่เท่ากัน

ที่เอา vn_stat เชื่อมกับ ovst เพราะบางที 2 ตารางนี้ข้อมูลไม่เท่ากันครับ เช่น มี vn ที่ vn_stat แต่ ovst ไม่มี
หัวข้อ: Re: งง กับ 2 คำสั่งนี้ครับ
เริ่มหัวข้อโดย: เกื้อกูล ครับ.. ที่ พฤศจิกายน 05, 2014, 10:30:58 AM
ผม งง ว่าจะเอาตาราง vn_stat มาเชื่อมทำไมในเมื่อตาราง ovst ก็มีทุกฟิลที่ต้องการแล้ว แต่เท่าที่ดูข้อ 2 ลองเช็คฟิล spclty ดูว่ามี record ไหนเป็นค่าว่างหรือป่าวเพราะของผมมีว่างเยอะมากเลยดึงออกมาไม่เท่ากัน

ที่เอา vn_stat เชื่อมกับ ovst เพราะบางที 2 ตารางนี้ข้อมูลไม่เท่ากันครับ เช่น มี vn ที่ vn_stat แต่ ovst ไม่มี

ไม่น่าเกิดขึ้นได้ครับ.....
เพราะ ทุกรายการจากตาราง vn_stat  มาจาก  ovst เสมอ...
หัวข้อ: Re: งง กับ 2 คำสั่งนี้ครับ
เริ่มหัวข้อโดย: panus_t ที่ พฤศจิกายน 05, 2014, 10:45:49 AM
ลองเปลี่ยน จาก count(v.vn)  เป็น count(*)
1.หาจำนวน Visit OPD ได้ 135222
2.หาจำนวน Visit OPD แยกตามแผนกได้ 135219

ลอง  group by v.spclty  ได้ 24 record เท่ากับข้อ 2 ครับ
select v.spclty
from ovst o
left outer join vn_stat v on v.vn=o.vn
where v.vstdate between "2013-10-01" and "2014-09-30"
group by v.spclty

 ??? ???
หัวข้อ: Re: งง กับ 2 คำสั่งนี้ครับ
เริ่มหัวข้อโดย: panus_t ที่ พฤศจิกายน 05, 2014, 10:51:08 AM
ผม งง ว่าจะเอาตาราง vn_stat มาเชื่อมทำไมในเมื่อตาราง ovst ก็มีทุกฟิลที่ต้องการแล้ว แต่เท่าที่ดูข้อ 2 ลองเช็คฟิล spclty ดูว่ามี record ไหนเป็นค่าว่างหรือป่าวเพราะของผมมีว่างเยอะมากเลยดึงออกมาไม่เท่ากัน

ที่เอา vn_stat เชื่อมกับ ovst เพราะบางที 2 ตารางนี้ข้อมูลไม่เท่ากันครับ เช่น มี vn ที่ vn_stat แต่ ovst ไม่มี

ไม่น่าเกิดขึ้นได้ครับ.....
เพราะ ทุกรายการจากตาราง vn_stat  มาจาก  ovst เสมอ...

ก็มีช่วงปีงบ 2556 ที่ ovst.vn น้อยกว่า vn_stat.vn อยู่ 3 Record ครับ
หัวข้อ: Re: งง กับ 2 คำสั่งนี้ครับ
เริ่มหัวข้อโดย: snhosxp ที่ พฤศจิกายน 06, 2014, 08:15:48 AM
ของผมลองเช็คแล้ว 2 ตารางนี้เท่ากันนะ
หัวข้อ: Re: งง กับ 2 คำสั่งนี้ครับ
เริ่มหัวข้อโดย: panus_t ที่ พฤศจิกายน 06, 2014, 08:49:49 AM
ปีงบ 2557 ต่างกัน 1 เรคคอร์ด ครับ  ;D