在下面的查询中,如何按TRANS-DATE分组?
我使用group by聚合了许多列,但是下面的计算列也需要相同。
TRANS-DATE和其他日期一样,需要按周分组,希望可以返回经常余额。
OB.openbal + SUM(trans.[trans-amt]) over (partition by ten.[tenancy-ref] ORDER BY [TRANS-DATE] asc) as Balance
摘录自以下查询;
select
ten.[tenancy-ref],
-- trans.[TRANS-NO],
trans.[TRANS-DATE],
sum(cast(rat.[credit-debit] as int)) as [Credit-Debit],
rat.[DESCRIPTION] as [ACCOUNT-TYPE],
-- rac.[DESCRIPTION] as AccountCode,
sum(trans.[TRANS-AMT]) [TRANS-AMT],
sum(CASE WHEN trans.[ACCOUNT-TYPE] != 'CH' THEN trans.[TRANS-AMT] ELSE '0.00' END) as Credits,
sum(CASE WHEN trans.[ACCOUNT-TYPE] = 'CH' THEN trans.[TRANS-AMT] ELSE '0.00' END) as Charges,
-- OB.openbal + SUM(trans.[trans-amt]) over (partition by ten.[tenancy-ref] ORDER BY [TRANS-DATE] asc) as Balance
--,
-- trans.[COMMENT],
-- row_number() OVER ( ORDER BY [TRANS-DATE] asc) ComputedTrannNo
from
dbo.[RE-TENANCY] ten
inner join dbo.[RE-TNCY-TRANS] trans on
trans.[ORG-CODE] = ten.[ORG-CODE]
and trans.[TNCY-SYS-REF] = ten.[TNCY-SYS-REF]
inner join dbo.[RE_ACCOUNT-TYPES] rat on
rat.[ORG-CODE] = trans.[ORG-CODE]
and rat.[ACCOUNT-TYPE] = trans.[ACCOUNT-TYPE]
inner join dbo.[RE-ACCOUNTS] rac on
rac.[ORG-CODE] = trans.[ORG-CODE]
and rac.[ACCOUNT-TYPE] = trans.[ACCOUNT-TYPE]
and rac.[ACCOUNT-CODE] = trans.[ACCOUNT-CODE]
left join
(
SELECT [RE-TNCY-TRANS].[TNCY-SYS-REF], '0.0' AS 'openbal'
FROM [RE-TNCY-TRANS] INNER JOIN
[RE-TENANCY] ON [RE-TNCY-TRANS].[TNCY-SYS-REF] = [RE-TENANCY].[TNCY-SYS-REF] INNER JOIN
[RE-SUB-ACC-BRKDWN] ON [RE-TNCY-TRANS].[TNCY-SYS-REF] = [RE-TNCY-TRANS].[TNCY-SYS-REF] AND [RE-SUB-ACC-BRKDWN].[INCOME-TRANS-REF] = [RE-TNCY-TRANS].[TRANS-NO]
WHERE ([RE-TENANCY].[TENANCY-REF] = @Tenancy_Ref) AND ([RE-SUB-ACC-BRKDWN].[SUB-ACC-CODE] = 'RENT')
GROUP BY [RE-TNCY-TRANS].[TNCY-SYS-REF]
) as OB on ob.[TNCY-SYS-REF] = [ten].[TNCY-SYS-REF]
where
ten.[ORG-CODE] = '01'
and trans.[TRANS-AMT] <> 0
and ten.[TENANCY-REF] = @Tenancy_Ref
-- and [TRANS-DATE] < '2018-11-08'
group by ten.[tenancy-ref], trans.[TRANS-DATE],rat.[DESCRIPTION], OB.openbal --, trans.[trans-amt]
感谢任何想法,思想和帮助。
谢谢