我有订单用户。我想选择符合以下条件的所有用户:
1. 根本没有订单
2. 没有大于 x 日期的订单(因此,如果用户有 10 个订单,其中一个小于已通过的日期 - 我仍然需要该用户。
3.为结果添加更多条件
我已经这样做了,但它没有按照我需要的方式工作。首先,我使用 LEFT join 连接所有订单,然后检查 - 如果订单大于通过的日期 - 我不选择一个项目。最后一个“或”检查我已经很困惑了,不知道它在做什么(没有用户我们就无法下订单)
select {c.pk}
from {User as c
left join Order as ord on {c.pk}={ord.user}}
where not exists
({{
select {o.date} from {Order as o} where {o.date} >='24-Oct-2017'
}})
or {ord.user} is null
最佳答案
在您的子查询
中,缺少用户检查。添加 {to.user} = {c.pk}
到其中。
关于java - 灵活的搜索查询可根据依赖关系选择实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48994236/