[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