在我的資料庫中,我有一列如下所示:

我需要嘗試過濾此表中的條目,這些條目是否距用戶選擇的日期 30/60/90 天。
這是我在 SQL Server Management Studio 中撰寫的當前 SQL 查詢:
SELECT
Account, DCBalance, (SUM(Credit) - SUM(Debit)) AS '30day'
FROM
[Graceland Estates BC].[dbo].[PostGL] AS gl
INNER JOIN
[Graceland Estates BC].[dbo].[Client] ON gl.DrCrAccount = Client.DCLink
WHERE
DrCrAccount = 15 AND AccountLink <> '2'
AND TxDate > 2021-11-30
GROUP BY
Account, DCBalance
在此代碼中(SUM(Credit) - SUM(Debit))是需要列印的那個時間段的余額。DrCrAccount決定余額屬于哪個用戶。
有誰知道如何從資料庫條目中確定數量(以天為單位)?
uj5u.com熱心網友回復:
這是一種方法:
WITH some_cte AS (
SELECT Account
, DCBalance
, Credit
, Debit
, CASE
WHEN TxDate >= DateAdd(dd, -30, GetDate()) THEN '0-30'
WHEN TxDate >= DateAdd(dd, -60, GetDate()) THEN '30-60'
WHEN TxDate >= DateAdd(dd, -90, GetDate()) THEN '60-90'
ELSE '90 '
END AS date_period
...
WHERE TxDate >= DateAdd(dd, -90, GetDate())
)
SELECT Account
, DCBalance
, date_period
, Sum(Credit) - Sum(Debit) As balance
FROM some_cte
GROUP
BY Account
, DCBalance
, date_period
;
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/343719.html
標籤:sql sql-server 查询语句 总计的
