Contacts
テーブルとテーブルがありBusinesses
、それらはテーブルを介して結合されていContacts_vs_Businesses
ます (これは多対多の関係です)。
2 つのテーブルに対してクエリを実行したい。連絡先が 2 つのビジネスに関連している場合、次を返したい:
- すべての連絡先の詳細とビジネス A のすべての詳細を含む行。
- すべての連絡先の詳細とビジネス B のすべての詳細を含む行
- 連絡先の詳細がすべて含まれ、ビジネスの詳細がまったくない行 (
SELECT
最初のテーブルで基本的なことをしたかのように)
連絡先テーブル
ID Contact_Name Contact_Phone
1 Jez Clark 01234 567 890
2 Someone Else 01254 648 654
事業者表
ID Business_Name Business_Address
1 A Company 24, A Street, A Town
2 Another Company 43, Another Street, Another Town
Contacts_vs_Businesses
Contact_ID Business_ID
1 1
1 2
2 2
戻りたい:
Contact_Name Contact_Phone Business_Name Business_Address
Jez Clark 01234 567 890 A Company 24, A Street, A Town
Jez Clark 01234 567 890 Another Company 43, Another Street, Another Town
Jez Clark 01234 567 890 NULL NULL
私は SQL Server 2008 R2 を使用しています。
これについてどうすればよいでしょうか (本当に簡単なことだと思います...)? OUTER 結合と INNER 結合、および LEFT/RIGHT 結合のさまざまな順列を試しましたが、最後の行の結果が得られないようです。
ありがとう