categories
テーブル、locations
トラフテーブルを使用した基本的な多対多のリレーションセットがありcategories_locations
ます。例:
カテゴリー表
| ID | Name |
| 1 | Category 1 |
| 2 | Category 2 |
| 3 | Category 3 |
ロケーション表
| ID | Name |
| 1 | Location 1 |
| 2 | Location 2 |
| 3 | Location 3 |
Categories_Locations テーブル
| category_id | location_id |
| 1 | 1 |
| 2 | 2 |
| 2 | 3 |
| 3 | 1 |
| 3 | 3 |
カテゴリ 2 に属し、同時にカテゴリ 3 にも属するすべての場所を取得するにはどうすればよいですか? 上記の例では、場所 3 にのみ結果が表示されます。
OR によるフィルタリングは簡単です。category_id IN (一致したカテゴリ) の通常の左結合です。しかし、カテゴリ 1 に属し、同時にカテゴリ 2 (など) に属するリレーションのみを取得したい場合、どのようにフィルタリングすればよいでしょうか?