javascript - 使用 knexjs,我如何比较 .where() 函数中的两列?

标签 javascript knex.js

仅使用 knexjs(无书架)我想执行类似以下查询的操作:

select * from table1 where column1 < column2

但是,当我这样做时:

.table("table1").select().where("column1", "<", "column2")

knexjs 生成的 SQL 是:

select * from table1 where column1 < 'column2'

它没有给出所需的结果 b/c 它不是比较列中的值,而是比较字符串“column2”的值。

任何人都知道如何做我想做的事?谢谢!

最佳答案

好的,经过一些挖掘,看起来可以通过这种方式 完成。不确定这是否是最佳做法,但目前,它一直有效,直到我听到其他消息......

.table("table1").select().where("column1", "<", knex.raw("table1.column2"))

同样,这并不理想,但它完成了工作。一定要

import knex from "knex";

在您使用它的任何文件的顶部。

关于javascript - 使用 knexjs,我如何比较 .where() 函数中的两列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37447326/

相关文章:

javascript - JavaScript 中的 document.unload 覆盖或链接最后一个定义?

javascript - 返回 false 不起作用,单击 h :commandButton 会触发操作

MYSQL用户定义变量问题

postgresql - Knex 在 Postgres 中创建 POINT 数据类型

knex.js - 在一个事务中,一个接一个地执行多个操作

javascript - knex.transactions 中的 knex.raw 和 trx.commit

javascript - 缩放图像 80% - jquery

javascript - JavaScript 中的简单缓存

javascript - JQUERY AJAX ---- 出于可用性原因暂停但仅在必要时暂停?

node.js - 传递到 Handlebars 的数据未显示