これは私が本から得た質問です(どちらを覚えていないか)、それは次のようになります:
3つのテーブルがあります。
- サプライヤー(
supId, name
) - 製品(
prodId, name
) - 在庫(
supId, prodId
)
1つのクエリで、サプライヤXが持っているすべての製品(またはそれ以上)を在庫に持っているすべてのサプライヤを見つける必要があります(サプライヤXが持っているとしましょうsupId=1
)。
(したがって、サプライヤ1の在庫にバナナとリンゴがある場合は、少なくともバナナとリンゴを扱っているすべてのサプライヤを見つける必要があります)
標準SQLのみ(結合を含む)を使用できます。
どうやらこれは既知の問題/質問です、あなたはこの質問をチェックする必要があります: SQLの結果をhas-many-through関係でフィルタリングする方法 (優れたソリューションと分析)