นี้คือ code ค่ะ
select AgentID=mg.AgentID,agentcode=mg.AgentCode,AgentName=mg.AgentName,AmtPeroid=sum(dc.AmtPeroid),countagentid=COUNT(dc.AgentID)
FROM tbMAgent mg left join tbMUser mu on mg.AgentCode = mu.UserName
left join tbDCusCardS dc on mg.AgentID = dc.AgentID
left outer join tbMCardS mc on dc.CardSNo = mc.CardSNo and mc.SaveDate between '2011/6/11' and '2011/6/17'
GROUP BY mg.AgentID,mg.AgentCode,mg.AgentName ที่ไม่ใช้ where เพราะ ข้อมูลบางตัวมันไม่ขึ้นค่ะ เลขต้องใช้ and แทนค่ะ
ถ้าจะให้หายสงสัย อย่าเพิ่ง GROUP BY ลองดูว่าข้อมูลที่ออกมาเป็นอย่างไร
select AgentID=mg.AgentID,agentcode=mg.AgentCode,AgentName=mg.AgentName,
dc.AmtPeroid, dc.AgentID
FROM tbMAgent mg left join tbMUser mu on mg.AgentCode = mu.UserName
left join tbDCusCardS dc on mg.AgentID = dc.AgentID
left outer join tbMCardS mc on dc.CardSNo = mc.CardSNo and mc.SaveDate between '2011-06-11' and '2011-06-17'