我有一個查詢,我正在查找我們的員工表中的用戶,並遞歸地瀏覽記錄以找出報告給我們源輸入的每個人。來自多個來源的TSQL遞歸
我的問題是,而不是傳遞一個單一的值,在下面的情況下,@QID
Id喜歡能夠傳遞多個值。我試圖修改它說WHERE QID IN ('user1', 'user2')
但它始終只返回的數據爲它IN
條款
WITH empList(mgrQID, QID, NTID, FullName, lvl, countOfDirects)
AS
(
SELECT TOP 1 mgrQID, QID, NTID, FirstName+' '+LastName, 0, CountOfDirects
FROM dbo.EmployeeTable
WHERE QID = @QID
UNION ALL
SELECT b.mgrQID, b.QID, b.NTID, b.FirstName+' '+b.LastName, lvl+1, b.countOfDirects
FROM empList a
CROSS APPLY dbo.Fetch_Directs_by_qid(a.QID)b
)
如果你做一個'WHERE QID IN(「用戶1」,「用戶2」)'和'留下SELECT TOP 1'然後錨查詢將只返回一條記錄。這個單一記錄是遞歸鏈中唯一的輸入。 –