在knex上具有内部联接的子查询

时间:2019-07-12 12:59:57

标签: knex.js

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

原始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 

1 个答案:

答案 0 :(得分:0)

  

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

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

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

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

我不会为您编写完整的解决方案。我希望这会有所帮助。