日期:2014-05-17  浏览次数:20425 次

SQL 小计 的问题,求指教!
SQL 语句,具体语句是这样
case max(batch_use.transqual) when '1' then '入' when '-1' then '出' end as '出入方向',
SUM(batch_use.qty) AS '数量',

batch_use.transqual表里的数据只有1和-1,1是入库,-1是出库,现在的问题是 当我统计 数量小计的时候
是把 所有的都加起来的,而实际效果是 入库-出库,然后得到小计,该怎么实现啊??

------解决方案--------------------
将数量乘上方向标识应该可以。
假设数量字段全是正数,入库标志为1,出库标志为 -1
那么 小计 = 入库 * 1 + 出库 * (-1) = 入库-出库
SQL code

case max(batch_use.transqual) when '1' then '入' when '-1' then '出' end as '出入方向',
SUM(batch_use.qty * batch_usr.transqual) AS '数量',