作者yj0803 (仁武田信玄)
看板Database
标题[SQL ] SQL 的查询问题
时间Thu Feb 5 16:16:45 2015
资料库名称:
资料库版本: 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
--
Sent from my Misaka 10032
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 210.71.170.97
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Database/M.1423124209.A.BEC.html
1F:推 sonesnsdsosi: select c1,c2,sum(case when c3='正' then c4*1 whe 02/05 17:40
2F:推 sonesnsdsosi: when c3='负' then c4*-1 end)"总和" from testtabl 02/05 17:41
3F:→ yj0803: 感谢S大 完美解答阿!!! 02/06 10:11
4F:推 sonesnsdsosi: 少了最後一句 group by c1,c2 order by c1; ^^" 02/06 11:55