【发布时间】:2018-06-23 10:55:52
【问题描述】:
任何帮助将不胜感激。
我有一个聚合查询,我通过子查询向其中添加一列(它也有一个聚合)。但是查询没有返回正确的结果:
DECLARE @Period int
DECLARE @Year int
SET @Period = 08
SET @Year = 2018
SELECT
ColA
,ColB
,PL.Month
,SUM(Period_Total) AS Period_Real
,SUM(bud.[Value]) AS Period_Estimate
,YTD_A.SubQuery_Estimate AS YTD_Real -- <This is the row of data with issues
FROM [dbo].[TableA] PL
LEFT JOIN [dbo].[TableB] bud
ON PL.ColA = bud.ColC AND PL.Period_Date = bud.[Period_Date]
--THIS JOIN IS WHERE I AM HAVING THE ISSUE
LEFT JOIN
(
SELECT ColC,SUM(Value) AS SubQuery_Estimate --,month, year
FROM [dbo].[TableB]
WHERE Year =@Year AND Month BETWEEN 1 AND @Period
GROUP BY ColC --,Month,Year
) YTD_A
ON YTD_A.ColC = PL.ColA
WHERE PL.MONTH = @Period AND PL.Year = @Year
GROUP BY ColA,ColB,PL.MONTH, PL.Year
ORDER BY ColA,PL.Month
任何建议和帮助将不胜感激。
谢谢
【问题讨论】:
-
更新您的问题添加适当的数据样本,实际结果和预期结果
-
您需要在
Group By中添加YTD_A.SubQuery_Estimate列才能执行此查询 -
感谢两位的评论。 @Pரதீப் 为每行数据带回相同的值
-
对于每个
ColC,SubQuery_Estimate将是相同的。请添加示例数据和预期结果 -
我正在整理表格和数据
标签: sql sql-server tsql group-by aggregation