這有幫助嗎? - 注意它幫助,如果你可以發佈你的表定義
DECLARE @transactions TABLE
(
[AccountNumber] INT NOT NULL,
[TransactionAmount] DECIMAL(18, 10) NOT NULL,
[KindOfTransaction] CHAR(1) NOT NULL, -- this could be better served as a boolean/bit field
[TransactionFile] INT NOT NULL
)
-- dummy data
INSERT INTO @transactions VALUES(4568643, 100, 'C', 123)
INSERT INTO @transactions VALUES(4568643, 150, 'C', 124)
INSERT INTO @transactions VALUES(4568643, 50, 'D', 125)
INSERT INTO @transactions VALUES(2345623, 100, 'C', 126)
INSERT INTO @transactions VALUES(2345623, 79, 'C', 127)
-- here's the actual query to return your data using a common table expression
;WITH cteAccountSummary (AccountNumber, TotalCredits, TotalDebits) AS (
SELECT [AccountNumber],
SUM(
CASE [KindOfTransaction]
WHEN 'C' THEN [TransactionAmount]
ELSE 0
END
),
SUM(
CASE [KindOfTransaction]
WHEN 'D' THEN [TransactionAmount]
ELSE 0
END
)
FROM @transactions
GROUP BY [AccountNumber]
)
SELECT [AccountNumber], TotalCredits - TotalDebits AS 'NetFinancialPosition'
FROM cteAccountSummary
親愛的請注意,結果是好的,但我錯過了顯示(交易文件) – 2012-07-08 06:26:12
編輯請求。 – shawnt00 2012-07-08 06:40:24
很多人非常感謝我的朋友 – 2012-07-08 06:59:21