首页 > 解决方案 > 在 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 

标签: knex.js

解决方案


我正在尝试使用查询生成器进行子查询,但我做不到。

这是编写子查询的一种方法:

const subQuery = knex('subquerytable').where('foo', 'bar');

// main query
knex('sms').select('sms.foo', subQuery).innerJoin(...).

我不会为你写完整的解决方案。我希望这有足够的帮助。


推荐阅读