BMS-HOSxP Community
HOSxP => Report Exchange => ข้อความที่เริ่มโดย: 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
??? ???
-
ลองเปลี่ยนไปใช้ inner join หรือ join แทนสิครับ แล้วเปรียบเทียบอีกที
-
งง กับ 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
??? ???
ของผมได้เท่ากันนะครับ
-
อาจมีบาง ovst .vn แผนกปลายทางนั้นไม่ได้ผูก spclty ไว้...หรือไม่
-
ผม งง ว่าจะเอาตาราง vn_stat มาเชื่อมทำไมในเมื่อตาราง ovst ก็มีทุกฟิลที่ต้องการแล้ว แต่เท่าที่ดูข้อ 2 ลองเช็คฟิล spclty ดูว่ามี record ไหนเป็นค่าว่างหรือป่าวเพราะของผมมีว่างเยอะมากเลยดึงออกมาไม่เท่ากัน
-
ผม งง ว่าจะเอาตาราง vn_stat มาเชื่อมทำไมในเมื่อตาราง ovst ก็มีทุกฟิลที่ต้องการแล้ว แต่เท่าที่ดูข้อ 2 ลองเช็คฟิล spclty ดูว่ามี record ไหนเป็นค่าว่างหรือป่าวเพราะของผมมีว่างเยอะมากเลยดึงออกมาไม่เท่ากัน
ที่เอา vn_stat เชื่อมกับ ovst เพราะบางที 2 ตารางนี้ข้อมูลไม่เท่ากันครับ เช่น มี vn ที่ vn_stat แต่ ovst ไม่มี
-
ผม งง ว่าจะเอาตาราง vn_stat มาเชื่อมทำไมในเมื่อตาราง ovst ก็มีทุกฟิลที่ต้องการแล้ว แต่เท่าที่ดูข้อ 2 ลองเช็คฟิล spclty ดูว่ามี record ไหนเป็นค่าว่างหรือป่าวเพราะของผมมีว่างเยอะมากเลยดึงออกมาไม่เท่ากัน
ที่เอา vn_stat เชื่อมกับ ovst เพราะบางที 2 ตารางนี้ข้อมูลไม่เท่ากันครับ เช่น มี vn ที่ vn_stat แต่ ovst ไม่มี
ไม่น่าเกิดขึ้นได้ครับ.....
เพราะ ทุกรายการจากตาราง vn_stat มาจาก ovst เสมอ...
-
ลองเปลี่ยน จาก 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
??? ???
-
ผม งง ว่าจะเอาตาราง 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 ครับ
-
ของผมลองเช็คแล้ว 2 ตารางนี้เท่ากันนะ
-
ปีงบ 2557 ต่างกัน 1 เรคคอร์ด ครับ ;D