我在使用knex.js
构建查询,并给定现有的子查询。继this答案,并在GitHub上this线程,我试过如下:从knex.js中的现有查询中进行选择
const knex = require("knex")({client: 'pg'});
const subQuery = knex.queryBuilder().select(1);
const query = knex.queryBuilder().select('*').from(subQuery);
console.log(query.toString());
但结果是:
select * from select 1
这显然有语法错误。我的预期结果是:
select * from (select 1)
为什么不添加括号,我该如何改变它?
我已经使用了第一种解决方案,'as('t1')'就像一个魅力一样工作。谢谢。 – GilZ
极大地简化了我的代码。非常感谢你。你是一个救星! –