- SQL code
ALTER PROCEDURE dbo.StockCount ( @CompanyID int = 5 )AS Begin SELECT SUM(CASE WHEN TypeID=1 THEN m8 ELSE -m8 END) AS m8, SUM(CASE WHEN TypeID=1 THEN m9 ELSE -m9 END) AS m9, SUM(CASE WHEN TypeID=1 THEN m10 ELSE -m10 END) AS m10, SUM(CASE WHEN TypeID=1 THEN m11 ELSE -m11 END) AS m11, SUM(CASE WHEN TypeID=1 THEN m12 ELSE -m12 END) AS m12, SUM(CASE WHEN TypeID=1 THEN m13 ELSE -m13 END) AS m13, SUM(CASE WHEN TypeID=1 THEN m14 ELSE -m14 END) AS m14, SUM(CASE WHEN TypeID=1 THEN m15 ELSE -m15 END) AS m15, SUM(CASE WHEN TypeID=1 THEN m16 ELSE -m16 END) AS m16 FROM RLStock where Status in(1,2) and [email protected] ----------- SELECT SUM(m8) AS m8, SUM(m9) AS m9, SUM(m10) AS m10, SUM(m11) AS m11, SUM(m12) AS m12, SUM(m13) AS m13, SUM(m14) AS m14, SUM(m15) AS m15, SUM(m16) AS m16 FROM RLStock where Status=4 and TypeID=3 and [email protected] END
这两个查询的结果怎么再对应列再相加起来?
------解决方案--------------------
相加?
是这样么:
- SQL code
select sum(m8)m8,sum(m9)m9,sum(m10)m10,sum(m11)m11,sum(m12)m12,sum(m13)m13,sum(m14)m14,sum(m15)m15,sum(m16)m16from( SELECT SUM(CASE WHEN TypeID=1 THEN m8 ELSE -m8 END) AS m8, SUM(CASE WHEN TypeID=1 THEN m9 ELSE -m9 END) AS m9, SUM(CASE WHEN TypeID=1 THEN m10 ELSE -m10 END) AS m10, SUM(CASE WHEN TypeID=1 THEN m11 ELSE -m11 END) AS m11, SUM(CASE WHEN TypeID=1 THEN m12 ELSE -m12 END) AS m12, SUM(CASE WHEN TypeID=1 THEN m13 ELSE -m13 END) AS m13, SUM(CASE WHEN TypeID=1 THEN m14 ELSE -m14 END) AS m14, SUM(CASE WHEN TypeID=1 THEN m15 ELSE -m15 END) AS m15, SUM(CASE WHEN TypeID=1 THEN m16 ELSE -m16 END) AS m16 FROM RLStock where Status in(1,2) and [email protected] union all SELECT SUM(m8) AS m8, SUM(m9) AS m9, SUM(m10) AS m10, SUM(m11) AS m11, SUM(m12) AS m12, SUM(m13) AS m13, SUM(m14) AS m14, SUM(m15) AS m15, SUM(m16) AS m16 FROM RLStock where Status=4 and TypeID=3 and [email protected])t END