私は2つのテーブルを持っています
Report
----------
report_id
name
Template
------------
template_id
report_id
レポートには多数のテンプレートを含めることができます。アイテムのリストに一致するテンプレートを含むレポートを取得するためにクエリを実行するにはどうすればよいですか
たとえば、テンプレートにこれらの行がある場合
Template_ID | Report_ID
---------------------------
a 1
b 1
c 2
d 3
レポートを選択するとき、テーブル内のすべてのテンプレートがファイラー基準に含まれていることを確認する必要があります。データベースにないフィルター基準に追加の項目があるかどうかは問題ではありません。
例
Template のすべてのレポートを検索します a,b,c
。a,b
は のサブセットであるため、レポート 1 が返されます。 また、 のサブセット であるためa,b,c
、レポート 2 も返されます。c
a,b,c
テンプレートのすべてのレポートを検索a
- 行がありません。a
テンプレートとしてのみを持つレポートがないため
テンプレートのすべてのレポートを検索c
- レポート 2 のみが返されます。
テンプレートのすべてのレポートを検索- これは、 のサブセットであり、 のサブセットでもあるため、c,d
レポート 2 と 3 のみを返します。c
c,d
d
c,d
テンプレートのすべてのレポートを検索- これはd,e
レポート 3 のみを返します。d
c,e