次の定義を持つ3つのテーブルがあります
people
------
- wid
- name
types
-----
- guid
- type
mapping
-------
- guid
- wid
people テーブルには人のリストがあります
タイプ テーブルには、 people テーブルに存在する各行のタイプ情報が含まれます。人物が複数のタイプに属している場合、タイプ テーブルには 2 つの行が存在します。
マッピング テーブルは、人テーブルとタイプ テーブルの間のマッピングを提供します。
ここで、「政治家」タイプの人を調べるには、次のクエリを使用できます。
select name from people inner join
(mapping inner join types on mapping.guid = types.guid)
on people.wpid = mapping.wpid where types.type = 'politician'
しかし今、私は政治家が属する他のタイプが何であるかを知りたいと思っています. group by
andhaving
句を使用する必要があることはわかっています。しかし、私はクエリを思いつくことができません。このクエリの書き方