給任何人提供幫助。我不是T-SQL的專家,所以我來這裏尋求一些指導。我有一個公用表表達式和兩列有用戶標識的表。我需要根據這些ID從用戶表中獲取名稱,以便顯示名稱。使用我的CTE與INNER JOINS減少了我的記錄數量,我不知道爲什麼。SQL公用表表達式(CTE)JOIN不起作用
UPDATE對不起,我應該更清楚。沒有錯誤。意外的結果。在加入之前,我返回了135條記錄。隨着加入我得到6
這裏是SQL:
;WITH CTE
AS (SELECT *,
ROW_NUMBER() OVER (PARTITION BY [ChangeRequests].[F0]
ORDER BY [ChangeRequests].[F8] DESC) AS RN
FROM [S37] AS [ChangeRequests])
SELECT [CTE].[F0] AS [ID]
,[CTE].[F8] AS [RevisionNumber]
,[CTE].[F18] AS [ChangeNumber]
,[CTE].[F19] AS [Synopsis]
--,[CTE].[F30] AS [Responsibility]
,[CTE].[F32] AS [Description]
,(CASE [CTE].[F42] WHEN 0 THEN NULL ELSE dbo.ConvertSTTimestamp([CTE].[F42]) END) AS [EnteredOn]
,[CTE].[F51] AS [Usr_Project]
--,[CTE].[F52] AS [Usr_CoResponsibility]
,[CTE].[F59] AS [Usr_ReportedBy]
,[CTE].[F61] AS [Usr_StarFlowStatus]
,[Users1].[F7] AS [Responsibility]
,[Users2].[F7] AS [CoResponsibility]
FROM CTE
INNER JOIN [S3] [Users1] ON [Users1].[F0] = [CTE].[F30]
INNER JOIN [S3] [Users2] ON [Users2].[F0] = [CTE].[F52]
WHERE (RN = 1)
我怎樣做一個基於我的2個用戶ID列,以獲取用戶名加入?
謝謝!
定義「不工作」?錯誤,意外的結果?請提供一個你開始使用的例子,你期望的和你實際得到的。 – MatBailie
對不起,我應該更清楚。沒有錯誤。意外的結果。在加入之前,我返回了135條記錄。加入我得到6. – Jared