我有一个名为mc.staff的表,其最简单的形式是
id |名字| supervisorId
我需要一个查询,它会提取一个人的ID和名称,但也会在一行中提取他们的主管的ID和名称。我被告知使用某种自联接到表可以工作,但我似乎无法弄清楚它背后的逻辑。 任何指向正确方向的人都会受到赞赏。
答案 0 :(得分:1)
您可以在此处选择使用INNER JOIN。 INNER JOIN用于组合两个或多个表中的行,基于它们之间的公共字段,只要BOTH表中存在匹配即可。我们将在这里使用的相似之处是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
如果我错了,请纠正我。