作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在构建一个需要使用 CTE 查询 Redshift 数据库(基于 postgres 8.0.2)的 Node.js 应用程序。不幸的是,到目前为止我看过的 SQL 查询构建器(node-sql、knex.js 和 sequelize)似乎不支持公用表表达式 (CTE)。
我使用 Jeremy Evans 的 Sequel gem 在 Ruby 中构建通用表表达式取得了巨大的成功,它有一个 with
方法,该方法采用两个参数来定义表的别名和数据集引用。我想要 Node 中的类似内容。
我是否错过了 Node.js SQL 查询构建器的任何明显竞争者?据我所知,这些是最明显的四个:
最佳答案
knex.js现在支持 WITH 子句:
knex.with('with_alias', (qb) => {
qb.select('*').from('books').where('author', 'Test')
}).select('*').from('with_alias')
输出:
with "with_alias" as (select * from "books" where "author" = 'Test') select * from "with_alias"
关于sql - 具有公用表表达式(WITH 子句)支持的基于 Node 的 SQL 构建器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27830660/
我是一名优秀的程序员,十分优秀!