And*_*ton 2 sql t-sql sql-server
我有一张收费/信用栏目表:
Item | PriceVal | CostVal | CHARGE_CODE
1 5 3 CH
2 8 5 CH
1 -5 -3 CR
3 7 1 CH
4 15 10 CH
1 5 3 CH
Run Code Online (Sandbox Code Playgroud)
我已经得到了我需要获得NET价格和成本的查询,但我也对NET收费感兴趣.现在我有:
SELECT Item, SUM(PriceVal), SUM(CostVal)
FROM Table
GROUP BY Item
Run Code Online (Sandbox Code Playgroud)
如何获取具有该值的另一列
COUNT(SUM(CHARGE_CODE=CH)-SUM(CHARGE_CODE=CR))
Run Code Online (Sandbox Code Playgroud)
我不知所措.
count()将为每个不为null的值计数一个,所以我不认为这正是你想要的.把数数拿出去,然后拿走
sum(case when charge_code = CH then costval else 0 end)
- sum(case when charge_code = 'CR' then costval else 0 end)
Run Code Online (Sandbox Code Playgroud)