select a.wg_id , b.wg_desc , a.status_id , c.status_desc from work a
left join workgroup b
on a.wg_id = b.wg_id
left join workstatus c
on a.status_id = c.status_id
select a.wg_id , b.wg_desc , a.status_id , c.status_desc , COUNT(a.work_id) as amount from work a
left join workgroup b
on a.wg_id = b.wg_id
left join status c
on a.status_id = c.status_id
GROUP BY a.status_id,a.wg_id
พบว่าออกมาเป็นแบบนี้ครับ คือมันไม่แสดง record ที่มีค่าเป็น 0 ด้วยครับ ถ้า left join แค่ 2 ตารางก็ไม่มีปัญหาครับ
select data1.wg_id,data1.wg_desc,data1.status_id,data1.status_desc
,SUM (case when work_id is not null then 1 else 0 end) as sum_case
from (
select * from workgroup as wg ,tbl_status as st
) as data1
left join work as wk
on wk.status_id = data1.status_id
and wk.wg_id = data1.wg_id
group by data1.wg_id,data1.wg_desc,data1.status_id,data1.status_desc