簡體   English   中英

如何創建存儲過程以獲取SQL Server 2008中上一列Entry的值?

[英]How to create stored procedure to get value of previous column Entry in SQL Server 2008?

數據庫表: UserTime

UserTimeId int(pk)
LoginStatus nvarchar

LoginStatus僅存儲兩條信息: InOut

例如:

UserTimeId    LoginStatus
--------------------------
    1           In
    2           Out
    3           In
    4           Out   

我想創建一個存儲過程來檢查上一列的LoginStatus的值是什么。

在C#代碼中,我要這樣實現:

if (StoredProcedureCheckLoginStatus='In')
{
   dothis...
}
else 
{
   do this....
}

使用CTE。 附樣品:

WITH CTE as (
   SELECT 
     RN = ROW_NUMBER() OVER (ORDER BY EmployeeID),
     * 
   FROM HumanResources.Employee
 )
 SELECT
   [Previous Row].*,
   [Current Row].*,
   [Next Row].*
 FROM CTE [Current Row]
 LEFT JOIN CTE [Previous Row] ON 
   [Previous Row].RN = [Current Row].RN - 1
 LEFT JOIN CTE [Next Row] ON 
   [Next Row].RN = [Current Row].RN + 1
 WHERE
       [Current Row].EmployeeID = 5

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM