knex.js - 在 knex 上具有内部连接的子查询
问题描述
我正在尝试使用查询生成器进行子查询,但我做不到。
原来的sql是:
SELECT sms.id,
sms.number,
Max(sms_detail.datetime) AS datahora,
(SELECT Count(status) AS quantidade FROM sms_detail WHERE sms_detail.sms_id = sms.id AND sms_detail.status = 0)
FROM sms AS sms
INNER JOIN sms_detail
ON sms.id = sms_detail.sms_id
GROUP BY sms.id,
sms.number
ORDER BY datahora DESC
解决方案
我正在尝试使用查询生成器进行子查询,但我做不到。
这是编写子查询的一种方法:
const subQuery = knex('subquerytable').where('foo', 'bar');
// main query
knex('sms').select('sms.foo', subQuery).innerJoin(...).
我不会为你写完整的解决方案。我希望这有足够的帮助。
推荐阅读
- visual-studio-code - 如何在 VS Code 中轻松编辑 Jupyter 笔记本的 JSON 代码?
- javascript - 将重复值推入新数组
- algorithm - 不同的参数如何影响时间复杂度的大 O 表示法
- spring-boot - 使用 ReplyingKafkaTemplate 时 ProducerRecord 的回复超时
- c++ - 第三方 API 中的编译错误 - Visual Studio
- django - 将帖子上下文添加到主页列表视图
- oracle - 错误(38,113):PLS-00049:错误的绑定变量“NEW.V_FECHA”
- python - Django'collectstatic':自动化它是一个坏习惯吗?
- flutter - 错误:不支持的操作:尝试使用颤振更改 dart 中的只读消息 (EntityUiPb)
- node.js - AWS CodePipeline 在部署到 Elastic Beanstalk 后缺少目录/文件