SELECT a.ProductID, SUM(b.Amount) as 出入库物资数量, SUM(b.Money) as 出入库物资金额
FROM tblProduct AS a LEFT JOIN tblIn AS b ON a.ProductID=b.ProductID
GROUP BY a.ProductID
union all
SELECT a.ProductID, SUM(c.Amount)*-1 , SUM(c.Money)
FROM tblProduct AS a LEFT JOIN tblOut AS c ON a.ProductID=c.ProductID
GROUP BY a.ProductID

解决方案 »

  1.   

    SELECT a.ProductID, SUM(b.Amount) as 入库物资数量, SUM(b.Money) as 入库物资金额, SUM(c.Amount)as 出库物资数量 , SUM(c.Money)as 出库物资金额FROM tblProduct AS a LEFT JOIN tblIn  AS b ON a.ProductID=b.ProductIDLEFT JOIN tblOut AS c ON a.ProductID=c.ProductIDGROUP BY a.ProductID
      

  2.   

    SELECT t1.ProductID, t1.入库物资数量, t1.入库物资金额,t2.入库物资数量, t2.入库物资金额 from
    (SELECT a.ProductID, SUM(b.Amount) as 入库物资数量, SUM(b.Money) as 入库物资金额
    FROM tblProduct AS a LEFT JOIN tblIn AS b ON a.ProductID=b.ProductID
    GROUP BY a.ProductID)t1 full join
    (SELECT a.ProductID, SUM(c.Amount)as 出库物资数量 , SUM(c.Money)as 出库物资金额
    FROM tblProduct AS a LEFT JOIN tblOut AS c ON a.ProductID=c.ProductID
    GROUP BY a.ProductID)t2
    on t1.productid=t2.productid
      

  3.   

    谢谢了,风流泪,但是为什么我不好用full join,只好用left join或者right jion?
    我以前也是像天涯沦落人一样写的,但是语法有错误,能告诉我错在哪里吗?