SQLでテーブルのつなげ方がわからない(やや複雑)
こんにちは
VBAのADODB.Streamなのですが、SQLでテーブルをつなげる方法がわかりません。
どのようなSELECT文を書けば良いのか教えてください。
次のような2つのテーブルがあります。
Persons
Relations
Personsには、ID、人名、男性かどうか(夫かどうか)が並んでいます。
ID, pName, IsHusband
1, 鈴木太郎, True
2, 鈴木花子, False
3, 山田太郎, True
4, 斉藤花子, False
5, 斉藤太郎, True
6, 山田花子, False
Relationsには、人物の婚姻関係が記されています。
ID, yourID, spouseID
1, 1, 2
2, 2, 1
3, 6, 3
4, 5, 4
5, 3, 6
6, 4, 5
(1つめのレコードは、yourID=1:鈴木太郎のspouseID(配偶者ID)=2:鈴木花子といった具合です。一番左のIDはこのテーブル以外で使っていません。)
これを次のような表として取得したいと思っています。
1, 鈴木太郎, 2, 鈴木花子
3, 山田太郎, 6, 山田花子
5, 斉藤太郎, 4, 斉藤花子
今試行錯誤しているのですが、まずPersonsでIsHusbandがTrueの人を抜き出して、その人のIDを使ってRelationsからSouseIDを抜き出して・・・・で、それをやっぱりPersons内で検索・・・
とうかぜんぜんわかりません。できませんでした。
実際、Relationsの方は参照するだけで抽出しなくても良い(別にしても良いです)し、JOINするのが同じテーブル同士だし、よくわかりません。
どのように書けば良いか、教えてください。