タグテーブル
| id | label |
| 1 | test1 |
| 2 | test2 |
| 3 | test3 |
画像テーブル
| id | data |
| 1 | data1 |
| 2 | data2 |
| 3 | data3 |
私はすべてのタグを持っている画像を見つけようとしている
| id | tagId | imageId |
| 1 | 1 | 1 |
| 2 | 1 | 2 |
| 3 | 2 | 2 |
| 4 | 3 | 2 |
| 5 | 3 | 3 |
マッピングテーブル共通(image.id = 2)。ALL関係におけるONに参加する方法
タグID 1,2,3が提供されている場合、どのようにクエリを実行しますか? IMAGEIDにグループ化し、TAGIDのに必要な数をチェックし、それを行うには
select m.imageId
from mapping m
where tagId in (1, 2, 3)
group by m.imageId
having count(*) = 3; -- needs to match the number of tags in the `where` clause
ありがとうございます!タグの数が動的であるとします。これはクエリでも可能ですか? @AronWoost。 –
。 。タグは* somewhere *から来ているので、クエリがどのように構築されているかによって異なります。 –