按以前的最高(最长)日期加入表格

时间:2014-04-14 09:11:54

标签: sql

我有以下问题:我有两个表,一个是包含交易的帐户表(在一天中可以有多个交易),另一个是具有帐户余额的表(其中的余额在结尾处记录日;由于每天都不发生交易,因此余额表的日期为“2014-01-05 800美元,下一行是2014-02-03 600美元”。我需要加入表格以获得当天的初始余额(余额表中的最后一个日期)。

select CLIENT_ID, TRANSACTION_ID, AMOUNT, DATE from TRANSACTIONS

余额表:

select CLIENT_ID, DATE, BALANCE from BALANCE

我需要像

这样的东西
select * 
from TRANSACTIONS t 
   inner join BALANCE b on b.CLIENT_ID = t.CLIENT_ID and t.DATE > b.DATE 

(此处应为之前的最长日期)

select * 
from TRANSACTIONS t 
   inner join BALANCE b 
           on b.CLIENT_ID = t.CLIENT_ID 
          and t.DATE = (select max (bl.DATE) 
                        from BALANCE bl 
                        where t.CLIENT = bl.CLIENT_ID 
                        and bl.DATE < t.DATE)

0 个答案:

没有答案