有没有办法在没有两个子查询的情况下过滤“唯一”单个值?

问题描述

所以我的数据库有来自不同商店用户的交易,我只想获取在单个商店购买的用户,而不是多个。我目前正在处理这两个子查询,但加载速度很慢。

and user.id in (
select
u.id
from usertable u
join ordertable o on o.user_id=u.id
join storetable s on s.id = o.store_id
where s.id *(store id)* = #### and o.created at time zone 'Country/City' < '2020-11-01'
and o.status not ilike 'canceled%'
and o.order_kind = 'NORMAL'
)
and u.id not in (
select
u.id
from usertable u
join ordertable o on o.user_id=u.id
join storetable s on s.id = o.store_id
where not in s.id *(store id)* (####) and o.created at time zone 'Country/City' < '2020-11-01'
and o.status not ilike 'canceled%'
and o.order_kind = 'NORMAL'
)

我想获取在 11/2020 之前在“####”商店购买的用户,并且只在该商店购买。有什么想法可以加快速度吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)