会社のレポートを取得していますが、問題が発生している特定のレポートを取得する必要があります。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を取得できるようにするにはどうすればよいですか?