knex.js 加入两个子查询(嵌套查询)

knex.js join two subqueries (nested queries)

我想加入 knex.js 中的两个子查询并生成此 sql 结果。

SELECT '*'
FROM
    (
    SELECT
        `*`
    FROM
        `A`
    WHERE
        A.id = 1
) AS `t1`
LEFT JOIN
    (
    SELECT
        *
    FROM
        `B`
    WHERE
       B.id = 2
) AS `t2`
ON
    `t1`.`c` = `t2`.`d`

我该怎么做?

knex(
  knex('A').where('A.id',1).as('t1')
).leftJoin(
  knex('B').where('B.id', 2).as('t2'), 
  't1.c', 
  't2.d'
)

使用此代码:

knex
        .select('*')
        .from(function () {
            this.select('*').from('A')
                .where('id',1)
                .as('t1');
        })
        .leftJoin(
            knex('B').where('id',2).as('t2')
            , function () {
                this.on('t1.c', '=', 't2.d');
            })