[SQL ] SQL 的查询问题

楼主: yj0803 (台中居正广)   2015-02-05 16:16:45
数据库名称:
数据库版本: MSSQL2008
内容/问题描述:
目前遇到一个指令的问题
不知道要如何下
以简单的图来表是大概就是长这个样子
http://i.imgur.com/yF4D2lf.png
因为单子有分出货跟退货
导致必须在总和之前在数量做正负的分别
已经想了一阵子了
希望版上的人可以帮忙
目前语法如下
select os_itno,os_crno,os_szno,os_thname,os_bdno ,sum (os_amount)
,case when os_trnmode in ('04') then -1*os_amount
else 1*os_amount end
from odrinvos
where (os_trnmode ='03' OR os_trnmode = '04') and (os_trnno >
'010205080000' and os_trnno < '010402059999' )
group by os_itno,os_crno,os_szno,os_thname,os_bdno
order by os_itno,os_crno,os_szno,os_thname,os_bdno
作者: sonesnsdsosi (FOREVERSONE)   2015-02-05 17:40:00
select c1,c2,sum(case when c3='正' then c4*1 whewhen c3='负' then c4*-1 end)"总和" from testtabl
楼主: yj0803 (台中居正广)   2015-02-06 10:11:00
感谢S大 完美解答阿!!!
作者: sonesnsdsosi (FOREVERSONE)   2015-02-06 11:55:00
少了最后一句 group by c1,c2 order by c1; ^^"

Links booklink

Contact Us: admin [ a t ] ucptt.com