我想用knex来运行以下SQL:
select * from (
(select * from foo)
union all
(select * from bar)) as biz limit 10 offset 20;
有没有一种不使用
knex.raw
的方法来实现这个功能?我想用knex来运行以下SQL:
select * from (
(select * from foo)
union all
(select * from bar)) as biz limit 10 offset 20;
knex.raw
的方法来实现这个功能?Knex支持使用union
和unionAll
。这已经在文档中有所说明。
knex.select().from(function() {
this.select().from('foo')
.unionAll(function() {
this.select().from('bar')
}).as('biz')
}).limit(10).offset(20).toString()
输出:
select * from (select * from `foo` union all select * from `bar`) as `biz` limit 10 offset 20