2010-12-14 77 views
0

任何一个帮我请请计算两行或更多行记录见下面的查询。计算黑白两行

SELECT docs_DocCode, SUM(invd_Qty) AS Total_IN 
FROM dbo.SI_InventoryDetail 

WHERE (docs_DocCode = 'D.C') AND (itm_ItemCode = '0101050000083') OR 
     (docs_DocCode = 'STO') AND (itm_ItemCode = '0101050000083') OR 
     (docs_DocCode = 'SAO') AND (itm_ItemCode = '0101050000083') OR 
     (docs_DocCode = 'IOB') AND (itm_ItemCode = '0101050000083') OR 
     (docs_DocCode = 'GRN') AND (itm_ItemCode = '0101050000083') OR 
     (docs_DocCode = 'STI') AND (itm_ItemCode = '0101050000083') OR 
     (docs_DocCode = 'SAI') AND (itm_ItemCode = '0101050000083') OR 
     (docs_DocCode = 'SRN') AND (itm_ItemCode = '0101050000083') OR 
     (docs_DocCode = 'PRN') AND (itm_ItemCode = '0101050000083') 
GROUP BY docs_DocCode 

上述查询给我的结果如下

dics_doccode Total 
D.C   328.00000000 
GRN   205.00000000 
IOB    96.00000000 
SAI    66.00000000 
SAO    51.00000000 
SRN    14.00000000 
STI   150.00000000 
STO   150.00000000 

现在,我想补充(特区+ STI + SAI) - (GRN + STI + SAI + IOB)=一个值

,我使用SQL SERVER 2000

Thankx

回答

1
SELECT SUM(CASE 
      WHEN docs_DocCode IN ('D.C', 'STI', 'SAI') THEN invd_Qty 
      WHEN docs_DocCode IN ('GRN', 'STI', 'SAI', 'IOB') THEN -1 * invd_Qty 
      ELSE 0 
      END) AS One_Value 
.... 

请注意,invd_Qty不属于任何'D.C', 'STI', 'SAI', 'GRN', 'STI', 'SAI', 'IOB'将不会被添加。

PS:(特区+ STI + SAI) - (GRN + STI + SAI + IOB) - 我已经强调了毫无意义的(?)部分。它等于D.C. - (SAI + IOB)

+0

亲爱THankx的快速回复,但你给出的查询工作不 – 2010-12-14 06:07:37

+0

我我要在哪里添加Cluse在这里确定我的ITEM基本计算是针对当前股票状态.... – 2010-12-14 06:11:34

+0

@Brave ali Khatri:'不工作'是不够的详细描述一个问题。我不能得到你的完整的第二评论:-S – zerkms 2010-12-14 06:14:43

0

我解决我的问题thankx到“Zerkms”下面是我的查询,并将其结果

SELECT Itm_itemcode,

SUM(CASE WHEN docs_DocCode IN ('D.C', 'STO', 'SAO','PRN') THEN INVD_QTY END) - 
    SUM(CASE WHEN docs_DocCode IN ('GRN', 'STI', 'SAI','SRN','IOB') THEN invd_Qty END) AS Qty 

从SI_InventoryDe​​tail

其中Itm_itemcode = '0101050000083'

group by Itm_itemcode

结果

ITEM_CODE数量
0101050000083 -2.00000000

Thankx 勇敢阿里·卡特里

+0

如果您发现我的答案有帮助,您可以在表决数小于3的地方使用绿色标记标记下者。 – zerkms 2010-12-14 07:24:34