我有两张表MessageReceiver
和PERSON
。
在PERSONRELATION
表格中,我有PERSON
,PERSONpk
和FIRSTNAME
列。
在LASTNAME
表格中我有PERSONRELATION
,这是MANAGER1fk
的fk。
我正在尝试加入这两个表格,将上面的所有字段移到上面并自行加入以添加PERSONpk
和MANAGERFIRSTNAME
。这是我所做的,但显然不正确:
MANAGERLASTNAME
答案 0 :(得分:1)
三个问题:
表格相关性包含员工和经理人员的FK;因此你需要加入来自个人关系的第二个fk字段(MANAGER1fk)(这不是一个自我联接)如果这个层次结构都是亲自维护的,那么它就是一个自我加入。
SELECT e.PERSONpk
, rel.MANAGER1FK
, e.FIRSTNAME
, e.LastName
, m.FIRSTNAME
, M.LASTNAME
FROM dbo.PERSON e
INNER JOIN dbo.PERSONRELATION rel
ON rel.PERSONFK = e.PERSONPK
INNER JOIN dbo.PERSON m
ON m.PERSONpk = rel.MANAGER1FK