SELECT a.PNO ,
a.Uname ,
isnull(a.pronum - b.SPCnumber,0) AS sjxsnum
FROM ( SELECT TOP 100 PERCENT
cong.PNO ,
zhu.Uname ,
SUM(cong.BenCiNum) pronum
FROM dbo.TBFaHuo zhu
RIGHT JOIN ( SELECT PNO ,
BenCiNum ,
FhId
FROM dbo.TBFaHuoDetail c
) cong ON zhu.FhId = cong.fhId
WHERE cong.PNO = 'kl008'
GROUP BY zhu.Uname ,
cong.PNO
ORDER BY ProNum DESC
) a
LEFT JOIN
( SELECT TOP 100 PERCENT
ddmx.PNO ,
dd.UName ,
SUM(thmx.SPCnumber) SPCnumber
FROM dbo.TBSalesReturnPro thmx
INNER JOIN ( SELECT id ,
pno ,
oid
FROM dbo.TBOrderPro mx
) ddmx ON ddmx.ID = thmx.OPID
INNER JOIN ( SELECT OID ,
UName
FROM TBOrder
) dd ON dd.OID = ddmx.oid
WHERE ddmx.PNO = 'kl008'
GROUP BY ddmx.PNO ,
dd.UName
) b ON b.UName = a.Uname
附上错误的sql语句,希望指正!
select a.pno,a.uname,(a.pronum-b.spcnumber) as 差 from a left jion b on a.pno=b.pno and a.uname=b.uname
SELECT a.pno,
a.uname,
a.pronum - ISNULL(b.spcnumber,0) AS sjxsnum --ISNULL()用错了对象
FROM (...) a
LEFT JOIN (...) b
ON b.uname = a.uname
AND b.pno = a.pno -- 漏了一个条件