我正在检查一个月的初始和最终余额,我想出了一个查询来获取它们中的任何一个,但我需要在同一个查询中显示这两个结果。我不能做子查询,因为我GROUP BY
在我的查询中使用,据我所知,在做子查询时我不能使用它。我将不胜感激更有经验的 SQL 用户提供的任何指针或建议。
DECLARE @Year INT SET @Year = 2016
DECLARE @Month varchar(4) SET @Month = '07'
SELECT T2.[Segment_0]+'-'+T2.[Segment_1]+'-'+T2.[Segment_2] Account,
T2.[AcctName],
SUM(T0.[Debit])-SUM(T0.[Credit]) Balance
FROM JDT1 T0
INNER JOIN OJDT T1
ON T1.[TransId] = T0.[TransId]
INNER JOIN oact T2
ON T2.[AcctCode] = T0.[Account]
where t0.RefDate >= @From and convert(varchar(7), T0.RefDate ,111) < LTRIM(str(@Year)) + '/' + @Month --Initial
--where t0.RefDate >= @From and convert(varchar(7), T0.RefDate ,111) <= LTRIM(str(@Year)) + '/' + @Month --Final
GROUP BY T2.[Segment_0]+'-'+T2.[Segment_1]+'-'+T2.[Segment_2],T2.[AcctName]
order by T2.[Segment_0]+'-'+T2.[Segment_1]+'-'+T2.[Segment_2]
如您所见,这只是一个问题LESS THAN
,LESS OR EQUAL THAN
但我的查询中需要这两个结果。我缺乏经验让我对此感到头疼。