SELECT
ShipDate, Stockroom, COLineNumber, CONumber, ShippedQty, ReversedQty,
CASE WHEN ReversedQty IS NULL THEN ShippedQty ELSE ReversedQty * - 1 END AS FinalShippedQty
FROM MyTable
WHERE CONumber = 'RAN-00001000'
这是基于上述查询的当前输出:
ShipDate Stockroom CoLineNumber CONumber ShippedQty ReversedQty FinalShippedQty
-------- --------- ------------ ------------ ---------- ----------- ---------------
8/7/2013 01 1 RAN-00001000 10 *NULL* 10
8/7/2013 41 2 RAN-00001000 12 *NULL* 12
8/7/2013 41 3 RAN-00001000 24 *NULL* 24
8/7/2013 41 4 RAN-00001000 12 *NULL* 12
8/7/2013 41 4 RAN-00001000 *NULL* 2 -2
8/7/2013 01 5 RAN-00001000 50 *NULL* 50
8/7/2013 41 6 RAN-00001000 12 *NULL* 12
8/7/2013 41 6 RAN-00001000 *NULL* 3 -3
8/7/2013 41 6 RAN-00001000 *NULL* 3 -3
正如您在上面注意到的那样,CoLineNumber 4 是两次,因为我们有一个原始条目,然后将 Qty 反转了 2,然后 CoLineNumber 6 出于相同的原因有三个条目。我想总结那些具有相同 CoLineNumber 并且属于相同 CONumber 的行的 FinalShippedQty 列。这只是这里的一个订单,但通常真正的提取物可能很多。
这是我想看到的输出:
ShipDate Stockroom CoLineNumber CONumber FinalShippedQty
-------- --------- ------------ ------------ ---------------
8/7/2013 01 1 RAN-00001000 10
8/7/2013 41 2 RAN-00001000 12
8/7/2013 41 3 RAN-00001000 24
8/7/2013 41 4 RAN-00001000 10
8/7/2013 01 5 RAN-00001000 50
8/7/2013 41 6 RAN-00001000 6
如果您有任何问题或需要进一步解释,请告诉我。再次记住,我拥有的表有数百个 CoNumber,但我只想总结那些相等且属于该特定 CONumber 的 CoLineNumber 的 FinalShippedQty。
编辑:我添加了第一次没有的 Stockroom 列。