假设我有三个表,一个用户表,一个包含大约 500 个不同项目的表,以及相应的连接表。我想做的是:
select * from users u join items_users iu on iu.user_id = u.id
where iu.item_id in (1,2,3,4,5)
and u.city_id = 1 limit 10;
除了IN
条件之外,我想找到拥有所有相应项目的用户。如果有帮助,假设一次搜索的最大项目数为 5。此外,我正在使用 Postgres,如果有帮助,请不要介意对其进行非规范化,因为它是只读系统并且速度最高优先。