表A --合同表
id
pyear varchar(10), --年度、格式 YYYY
pmon varchar(10), --月度、格式 mm
targetsales decimal(10,2), --销售金额 元
saler varchar(20), --销售员
表 B 销售目标表
id
bargainname varchar(100), --合同名称
bargainsales decimal(10,2) , --合同总额
bargaindate date, --合同签订日期 YYYY-mm-dd
saler varchar(20), --销售员
销售员 = 销售员 合同签订日期 在 销售目标的该年度月度之下 总额之和
销售目标之下没有合同 就不显示 bargainsales总额 或者 显示 0
pyear pmon targetsales saler sum(bargainsales)
------解决思路----------------------
SELECT A.*,ISNULL(SUM(B.bargainsales),0)bargainsales你试下
FROM A
LEFT JOIN B ON A.saler=B.saler
AND A.pyear+'-'+A.pmon=CONVERT(VARCHAR(7),B.bargaindate,120)
GROUP BY A.id,A.pyear,A.pmon,A.targetsales,A.saler