0

会社のレポートを取得していますが、問題が発生している特定のレポートを取得する必要があります。SQL Server 2012 を使用しており、SQL レポートを取得しています。

必要なのは、簡単なレポートを取得することです。

グループ名、グループ内のメンバーのリスト。グループのスーパーバイザー。

ただし、問題は、関連情報を取得するために、スーパーバイザー、メンバー、およびグループ名がすべて 1 つのテーブルから取得されることです。現在、以下の私の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 には、同じテーブルの他の contact_id である Supervisor_id があるため、外部キーになります。

group_idに等しいcontact_idのsupervisor_idに等しいcontact_idを取得できるようにするにはどうすればよいですか?

4

1 に答える 1