MS SQL在一个查询中从同一个表检索相关数据

MS SQL在一个查询中从同一个表检索相关数据,sql,sql-server,sql-server-2008,tsql,Sql,Sql Server,Sql Server 2008,Tsql,我有一张叫做mc.staff的桌子,它最简单的形式是 id |姓名|主管id 我需要一个查询,将拉出一个人的id和姓名,但也在一行他们的主管id和姓名。有人告诉我,使用某种形式的自连接到表将起作用,但我似乎无法理解其背后的逻辑。 任何指向正确方向的指针都将不胜感激。您可以选择在此处使用内部联接。内部联接用于根据两个或多个表之间的公共字段合并两个或多个表中的行,只要两个表中都有匹配项。我们将在这里使用的相似性是mc.staff的supervisorId和mc.staff的id 因此,下面的查询

我有一张叫做mc.staff的桌子,它最简单的形式是


id |姓名|主管id


我需要一个查询,将拉出一个人的id和姓名,但也在一行他们的主管id和姓名。有人告诉我,使用某种形式的自连接到表将起作用,但我似乎无法理解其背后的逻辑。
任何指向正确方向的指针都将不胜感激。

您可以选择在此处使用内部联接。内部联接用于根据两个或多个表之间的公共字段合并两个或多个表中的行,只要两个表中都有匹配项。我们将在这里使用的相似性是mc.staff的supervisorId和mc.staff的id

因此,下面的查询将返回结果

SELECT A.id, A.name, B.id, B.name
FROM mc.staff A
INNER JOIN mc.staff B ON A.supervisorId = B.id

如果我错了,请纠正。

非常感谢您的快速回复。马上就开始工作了!再次感谢