我正在为我的公司提取报告,并且需要提取我遇到问题的特定报告。我们正在使用 SQL Server 2012,我正在提取 SQL 报告。
我需要的是提取一个简单的报告:
组名、组内成员列表;组长。
但是,问题是主管以及成员和组名都来自一个表,以便获取相关信息。目前这里是我的SQL代码如下:
Use DATABASE
go
-- This is the select portion deciding the columns needed.
select
C.group_name
,C2.first_name
,C2.last_name
-- These are the tables that the query is pulling from.
FROM db..groups AS G
LEFT OUTER JOIN db..contact AS C
ON G.group_id=C.contact_id
INNER JOIN db..contact AS C2
ON G.member=C2.contact_id
go
这拉出了第一部分:
组名,然后是该组中成员的名字,然后是该组中成员的姓氏。
但是,我无法获得主管部分。这部分使用 supervisor_id 列下的表db.contact作为外键。supervisor_id使用与普通contact_id相同的唯一 ID ,但在同一个表中。一些contact_id 的supervisor_id 是同一个表中的其他contact_id,因此是外键。
我怎样才能获得与 group_id 相等的contact_id 的supervisor_id 的contact_id?