QA@IT
«回答へ戻る

回答を投稿

MySQL の環境が無いので、SQL Server で試していますがこんな感じでどうでしょうか?
多分 MySQL でも動くのでは。。

select 
  item_id, user_id
from 
  item_genre i inner join user_genre u 
    on i.genre_id = u.genre_id
group by 
  item_id, user_id
having 
  count(i.genre_id) >= ( 
    select count(*) from user_genre where user_genre.user_id = u.user_id
  )
`
MySQL の環境が無いので、SQL Server で試していますがこんな感じでどうでしょうか?
多分 MySQL でも動くのでは。。
```sql
select 
  item_id, user_id
from 
  item_genre i inner join user_genre u 
    on i.genre_id = u.genre_id
group by 
  item_id, user_id
having 
  count(i.genre_id) >= ( 
    select count(*) from user_genre where user_genre.user_id = u.user_id
  )
`