在具有如下reviewers结构的表中:
reviewers
reviewer | reviewee =================== 2 | 1 3 | 2 4 | 3 5 | 4
在函数调用中,我同时知道areviewer-id和a reviewee-id(审阅者要检索的项目的所有者)。
reviewer-id
reviewee-id
我现在正尝试发送一个查询,该查询将对审阅者表中的所有条目进行迭代,从审阅者开始,并以受审者的ID结束(并将其与我所知道的受审者的ID匹配)。因此,我试图找出受审者与审阅者之间是否存在联系。
是否可以在单个查询中执行此操作?
你可以这样做:
WITH CTE AS ( SELECT reviewer, reviewee FROM TableName WHERE reviewee = @revieweeID UNION ALL SELECT p.reviewer, p.reviewee FROM CTE c INNER JOIN TableName p ON c.reviewee = p.reviewer ) SELECT * FROM CTE; --- WHERE reviewer = @reviewerID;