我想在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`
我该怎么做?
答案 0 :(得分:3)
使用此代码:
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');
})
答案 1 :(得分:2)
knex(
knex('A').where('A.id',1).as('t1')
).leftJoin(
knex('B').where('B.id', 2).as('t2'),
't1.c',
't2.d'
)