1
我試圖獲得一個SQL查詢與之前時間的狀態返回行有一個審計日誌是同一個帳戶SQL自聯接審計變化
像
create table aud
(
id int IDENTITY(1,1),
date_time datetime,
[user] varchar(20),
account varchar(20),
[status] char(2)
)
insert into aud values(getdate(),'guy','123456','00')
insert into aud values(getdate(),'guy','123456','01')
insert into aud values(getdate(),'guy','123456','02')
insert into aud values(getdate(),'guy','123456','00')
insert into aud values(getdate(),'guy','123456','04')
insert into aud values(getdate(),'guy','123456','01')
什麼我期待的是,列出了以前的帳戶狀態類似 DATE_TIME,用戶帳號,狀態,因此PREVIOUS_STATUS
我試圖
select a.*, b.* from aud a
join aud b
on a.account = (
select top 1 account from aud where a.account = b.account and a.id > b.id order by date_time asc
)
但這加入不僅僅是以前的一個
猜測這是SQL Server?請在版本中添加適當的標籤。 – 2015-04-01 11:20:38
可能重複[如何以每個記錄與「上一個」記錄連接的方式自聯接表?](http://stackoverflow.com/questions/15527423/how-to-self-join-table-在這種方式中,每一條記錄都是與之前相連的) – gvee 2015-04-01 11:21:11