select D.*,isnull(E.bqty,0) as bqty,D.sqty-isnull(E.bqty,0) as sbqty FROM  (SELECT A.style,A.productid,SUM(isnull(B.squantity,0)) as sqty FROM (select distinct * FROM product) A LEFT JOIN sale B ON A.productid=B.productid GROUP BY A.style,A.productid ) D ;
LEFT JOIN (SELECT A.style,A.productid,SUM(isnull(B.bquantity,0)) as bqty FROM (select distinct * FROM product) A LEFT JOIN back B ON A.productid=B.productid GROUP BY A.style,A.productid ) E ;
ON D.style=E.style AND D.productid=E.productid

解决方案 »

  1.   

    select style,color,squantity,bquantity,(squantity-bquantity) as quantity from
    (select isnull(a.productid,b.productid) as productid,isnull(squantity,0) as squantity,isnull(bquantity,0) as bquantity from 
    (select productid ,sum(squantity) as squantity from sale group by productid) as a
    full join 
    (select productid ,sum(bquantity) as bquantity from back group by productid) as b
    on a.productid=b.productid) as c,product
    where c.productid=product.productid