0

月の初期残高と最終残高を確認しています。どちらかを取得するクエリを思いつきましたが、同じクエリで両方の結果を表示する必要があります。クエリで使用するため、サブクエリを実行できません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 THANLESS OR EQUAL THANクエリには両方の結果が必要です。私の経験不足は、これについて頭を悩ませています。

4

2 に答える 2