我有一個名爲lprPostcodeRegion的區域名稱和區域ID。我想根據地區ID計算以下總和。例如,對於區域ID 1,我會得到一定的總和,對於區域ID 2,我會得到不同的總和,這發生在大約15個ID上。你可以看到我已經聲明RegionID爲1,因此,我只得到RegionID1的總和(lpr.regionID = 1/lpr.regionID = @RegionID)。我如何自動計算所有區域ID的總和?在Sql Server中使用變量
DECLARE @RegionID int;
SET @RegionID = 1;
SELECT lpr.RegionID,
--wc.whsHeaderID,
SUM(c.[Chargeable Weight]) AS LeftOffWt
FROM dbo.whsConsignment wc
INNER JOIN whsHeader wh on wh.WhsHeaderID = wc.whsHeaderID
INNER JOIN dbo.cgtConsignment c ON c.[Consignment Reference] = wc.ConsignmentReference
INNER JOIN dbo.genAddress ga ON ga.AddressID = c.Consignor
INNER JOIN dbo.lstPostcode lp ON lp.Postcode = ga.PostcodePrefix
INNER JOIN dbo.lstPostcodeRegion lpr ON lpr.RegionID = lp.RegionID
AND c.Cancelled = 0
--AND wc.ConsignmentReference LIKE '4%'
and lpr.RegionID = 1
WHERE StatusCode IN ('NL') and wh.ArrDepDate between @StartDate and @EndDate
GROUP BY lpr.RegionID
您的問題似乎與帖子標題不符。你是否在尋找一個接受變量並計算該記錄總和的程序?或者你正在尋找一個總是會返回所有地區的總和的查詢? –
是不是你的查詢在做什麼? (如果你刪除'和lpr.RegionID = 1'條件) – HoneyBadger
由於你使用group by,我沒有看到任何問題在你的代碼中刪除這個'和lpr.RegionID = 1',這樣它就會得到所有的總和regionids – TheGameiswar