我在Access中有一个查询,该查询返回所有客户的交易
字段是
TransID,TenantID,TransactionType,Amount,TransactionDate
其中TransactionType = 1(收费)和2(付款)
我想返回此查询的所有记录,并包含一个额外的字段,其中包含此clinet(TenantID)的先前付款的(TransactionType = 2)TransactionDate
如果没有以前的付款,我想只返回空值作为前一个交易日期的记录。
你能帮我吗?
最佳答案
使用子查询,传入外部查询的交易日期:
SELECT TransID, TenantID, TransactionType, Amount, TransactionDate,
(SELECT MAX(I.TransactionDate)
FROM unnamed_table I
WHERE I.TransactionDate < O.TransactionDate
AND I.TransactionType = 2
AND I.TenantID = O.TenantID) PrevTransDate
FROM unnamed_table O
关于sql - SQL返回交易表以及上次付款日期,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6425789/