2010-12-14 1 views
0

誰でも助けてください私は2行以上を計算したいレコードは以下のクエリを参照してください。B/W 2行を計算する

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 

以下のように、結果は私を与える、今私は(D.C + STI + SAI)を追加したい - (GRN + STI + SAI + IOB)= 1つの値の

と私は、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 
.... 
を使用しています10

のいずれにも属していないinvd_Qtyは追加されません。

PS:(D.C + STI + SAI) - (GRN + STI + SAI + IOB) - 私は無意味な(?)の部分を強調してきました。それは私がそれをSI_InventoryDe​​tail

から

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 

を結果私のクエリであり、以下"Zerkms" にthankx私の問題を解決しD.C. - (SAI + IOB)

+0

親愛なるTHankxクイック返信用がありますが、クエリ与えられた私の私はどこCluse追加したい –

+0

に動作していませんここでは計算が現在の在庫状況のための私のITEM基礎を特定する.... –

+0

@ブレイブアリKhatri: '働いていない'問題の詳細な説明が不十分です。あなたの完全な2番目のコメントを得ることができません: - – zerkms

0

に等しいItm_itemcode = '0101050000083'

グループItm_itemcode

結果

ITEM_CODE数量
0101050000083 -2.00000000

Thankx ブレイブ・アリ・カトリ

+0

私の答えが見つかった場合は、投票番号の下に緑色のマークでチェックすることができます:3 – zerkms