我有存儲過程,我試圖檢索由逗號分隔的用戶名字符串中列出的每個用戶完成的最後一張票。用戶可能沒有與他們關聯的票證,在這種情況下,我知道我只需要返回空值。那我一起工作的兩個表的定義如下:SQL Server 2008 - 更新臨時表
User
----
UserName,
FirstName,
LastName
Ticket
------
ID,
CompletionDateTime,
AssignedTo,
AssignmentDate,
StatusID
TicketStatus
------------
ID,
Comments
我已經創造了一種我試圖返回最後完成票以逗號分隔的用戶名列表的存儲過程。每條記錄都需要包含與其相關的評論。目前,我嘗試以下:
CREATE TABLE #Tickets
(
[UserName] nvarchar(256),
[FirstName] nvarchar(256),
[LastName] nvarchar(256),
[TicketID] int,
[DateCompleted] datetime,
[Comments] text
)
-- This variable is actually passed into the procedure
DECLARE @userList NVARCHAR(max)
SET @userList='user1,user2,user2'
-- Obtain the user information for each user
INSERT INTO #Tickets
(
[UserName],
[FirstName],
[LastName]
)
SELECT
u.[UserName],
u.[FirstName],
u.[LastName]
FROM
User u
INNER JOIN dbo.ConvertCsvToTable(@userList) l ON u.UserName=l.item
在這一點上,我的用戶名,名字和姓氏爲每個用戶傳入但是,我不知道如何真正得到最後一張票完成。每個用戶。
我該怎麼做?我相信我應該更新我創建的臨時表。同時,id不知道如何獲取更新語句中的最後一條記錄。
謝謝!
是TicketID順序(即,每個用戶的最後一張門票是否也具有該用戶的任何門票的最高ID?)以及如何連接「Ticket」和「User」? 'AssignedTo'是否加入到'UserName'? – 2010-05-13 15:25:26