0
我是T-SQL的新手,我找不到這個查詢。T-SQL查詢 - 返回一個結果,或者返回0(SQL 2008R2)
我想比較項目的價值和它的分類賬價值檢查任何異常,因爲他們偶爾會失去同步。
我需要查詢,對於所有當前庫存,從項目的「項目值」字段中減去項目分類帳的「金額」字段。有幾個項目分類賬分錄,它必須從分類賬分錄中扣除金額。如果沒有「開放式總帳分錄」,則減去零。
我宰割一起在查詢設計器的查詢,對於草率道歉:
SELECT dbo.[Company$ItemTable].[Item No_],
dbo.[Company$ItemTable].[Current Stock],
dbo.[Company$ItemTable].[Item Value],
dbo.[Company$Item Ledger Entry].[Open],
dbo.[Company$ItemTable].[Item Value] - SUM(CASE
WHEN dbo.[Company$Item Ledger Entry].[Open] = 1 THEN dbo.[Company$Item Ledger Entry].Amount
ELSE 0
END) AS Diff,
SUM(CASE
WHEN dbo.[Company$Item Ledger Entry].[Open] = 1 THEN dbo.[Company$Item Ledger Entry].Amount
ELSE 0
END) AS AmountILE,
dbo.[Company$Item Ledger Entry].[Entry No_]
FROM dbo.[Company$ItemTable]
LEFT OUTER JOIN dbo.[Company$Item Ledger Entry]
ON dbo.[Company$ItemTable].[Item No_] = dbo.[Company$Item Ledger Entry].[Lot No_]
GROUP BY dbo.[Company$ItemTable].[Item No_],
dbo.[Company$ItemTable].[Current Stock],
dbo.[Company$ItemTable].[Item Value],
dbo.[Company$Item Ledger Entry].[Open],
dbo.[Company$Item Ledger Entry].[Entry No_]
HAVING (dbo.[Company$ItemTable].[Current Stock] = 1)
AND (dbo.[Company$ItemTable].[Item Value] - SUM(CASE
WHEN dbo.[Company$Item Ledger Entry].[Open] = 1 THEN dbo.[Company$Item Ledger Entry].Amount
ELSE 0
END) > 1)
AND (dbo.[Company$Item Ledger Entry].[Open] = 1)
這是否有道理?誰能幫忙?謝謝!
你需要問一個具體問題。現在,不清楚你的問題是什麼,也不知道它的正確答案是什麼。 – RBarryYoung
對不起, 我想將([ItemTable]。[Item Value] - [Item Ledger Entry]。[Amount])的值作爲'Diff'返回。如果篩選器中沒有項目分類帳輸入項(IE - 否'打開'輸入項),則返回0. 這是否有意義? – user2401849
上面的查詢不是已經做到了嗎? – RBarryYoung