2017-03-01 98 views
-1

大家好,我想問你,如果我站在「ACCOUNTING MANAGER」上,我如何才能在sql server 2008中選擇以前的記錄,如下圖所示我想選擇「SELLER」如何在SQL Server 2008中選擇以前的記錄

enter image description here

+1

這是什麼意思是你的意思? – Whencesoever

+2

什麼是'5000-01-01'的TODATE' ......無論它確實有更好的方法來做任何代表。 – Tanner

回答

0

使用CTE喜歡使用ROW_NUMBER函數創建ROWNUMBER()....

with temp as (select *,row_number()over(order by [tooday] asc) as rn from tablename) 

select t1.jobDESC from temp t1 
join temp t2 on t1.rn =t2.rn-1 
where t2.jobDESC = 'ACCOUNTING MANAGER' 

變化爲表名與表名..

0

這是將主鍵放在表中的更好方法。所以在你的表中創建一個主鍵。

select top 1 t1.* from table1 t1, table1 t2 
where t1.primaryKey = t2.primaryKey - 1 order by primaryKey desc 
0

你可以試試這個。首先你需要添加一列作爲身份。

ALTER TABLE Your_TableName ADD AUTOID INT IDENTITY(1,1) 

然後您需要找到您現在正站在的記錄(即「ACCOUNTING MANAGER」)的rowID。

declare @RowID INT 
Set @RowID=(Select AUTOID from Your_TableName where JOBDESC="ACCOUNTING MANAGER") 

然後

select * from Your_TableName where AUTOID=(@RowID-1) 

@RowID如果你想之前的紀錄-1。

@ RowID + 1如果你想要下一個記錄。

相關問題