我需要对 MTH1 MTH2 等列进行求和,但对于我传递的参数,它将为同一帐户代码生成六行信息,这是正确的,它应该产生什么我的问题是如何只返回其中一个数据,但是到目前为止,这就是我的存储过程中六行的总和。
ALTER PROCEDURE [dbo].[sumbalances]
@AccountRef VARCHAR(500),
@SortOrder INT,
@CATEGORY INT
AS
BEGIN
SET NOCOUNT ON;
SELECT
NOMINAL_LEDGER.ACCOUNT_REF, NOMINAL_LEDGER.NAME,
NOMINAL_LEDGER.ACCOUNT_TYPE, NOMINAL_LEDGER.BALANCE,
NOMINAL_LEDGER.QUICK_RATIO, NOMINAL_LEDGER.SOFA_ID,
NOMINAL_LEDGER.PRIOR_YR_MTH1, NOMINAL_LEDGER.PRIOR_YR_MTH2,
NOMINAL_LEDGER.PRIOR_YR_MTH3, NOMINAL_LEDGER.PRIOR_YR_MTH4,
NOMINAL_LEDGER.PRIOR_YR_MTH5, NOMINAL_LEDGER.PRIOR_YR_MTH6,
NOMINAL_LEDGER.PRIOR_YR_MTH7, NOMINAL_LEDGER.PRIOR_YR_MTH8,
NOMINAL_LEDGER.PRIOR_YR_MTH9, NOMINAL_LEDGER.PRIOR_YR_MTH10,
NOMINAL_LEDGER.PRIOR_YR_MTH11, NOMINAL_LEDGER.PRIOR_YR_MTH12,
NOMINAL_LEDGER.PRIOR_YR2_MTH1, NOMINAL_LEDGER.PRIOR_YR2_MTH2,
NOMINAL_LEDGER.PRIOR_YR2_MTH3,
FROM
CATEGORY
LEFT JOIN
NOMINAL_LEDGER ON CATEGORY.CompanyID = NOMINAL_LEDGER.CompanyID
WHERE
ACCOUNT_REF = @AccountRef
AND SORT_ORDER = @SortOrder
AND CATEGORY = @CATEGORY
END
我想我需要某种循环来保存所有 MTH1 的总和,或者不需要那么复杂。
以下是数据示例。
例如,如果是第 Mth 1,它将添加
40000.00
44000.00
并在 MTH 1 列中返回该总数,但只有一行对所有这些进行求和(如果从那时起)。
Edit 2
请在此处查看我的 sql 小提琴,如果有人可以提供帮助,我在链接类别表时遇到一些问题。这不是上面的主要问题,所以你们可以看到数据
http://sqlfiddle.com/#!18/6c902/1 http://sqlfiddle.com/#!18/6c902/1