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');
})
我想加入 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');
})