首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Typeorm -算子

Typeorm -算子
EN

Stack Overflow用户
提问于 2021-10-14 20:52:19
回答 1查看 278关注 0票数 0

我试图在SQL中做一个设置上的不同。我发现了减号运算符,它似乎正是我所需要的:https://www.geeksforgeeks.org/sql-minus-operator/

我想弄清楚是否有办法通过打字机使用这个话务员。我目前正在使用connection.getRepository().createQueryBuilder(),并且在结果查询生成器上看不到任何看起来与减号运算符相对应的方法。

关于我要做的事情的额外上下文:我有一个请求表/实体,每个请求都有一个字段,该字段指定与请求相关的内部资源,让我们将其命名为target_id。我希望找到所有大于1个月的请求,但只有在同一个上没有其他请求的情况下,这些请求才会更新到1个月以上。

编辑:实际上,考虑到这一点,我甚至不确定减号操作符能做我想做的事情。我可以编写类似于SELECT * from request WHERE request.updated_at < :deadline MINUS SELECT * from request WHERE request.updated_at > :deadline的东西,但问题是,这总是会返回第一个选择的结果,因为两个结果集之间永远不会有任何确切的重叠。所缺少的方法是比较这两个结果集,找到共享target_id的结果集,并从共享target_id的第一个集合中删除与第二个结果共享的结果。我想可能有一些方法可以用某种形式的连接来实现这一点,但这超出了我使用SQL的能力。这里的任何指导都将不胜感激!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-19 04:02:18

Typeorm似乎不直接支持减号,但在这种情况下可以通过使用子查询实现相同的效果:

代码语言:javascript
复制
SELECT *
FROM request
WHERE request.updated_at < :deadline
    AND target_id NOT IN (
        SELECT target_id
        FROM request
        WHERE requeted.updated_at > :deadline
    )
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69577223

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档