javascript - Knex.js Where 子句包含强制 AND 和可选 OR - SQL

标签 javascript sql sqlite query-builder knex.js

我有一个员工的 SQLite 数据库表

表名称:员工

ID    Name    Country   CountyID   Status
1     John    IN        1          Active
2     Jack    US        1          InActive
3     Emma    UK        1          Active
4     Josh    US        1          Active
5     Jill    US        0          Active

我需要获取居住在“IN”和“US”或 CountyID“1”的“Active”人员'.

示例代码:

const dbContext = require("knex")({
        client: "sqlite3",
        connection: {
            filename: filename.db
        },
        useNullAsDefault: true
});

const persons = dbContext('Employee').where({Status: 'Active'}). ???

SQL 查询是

SELECT * FROM Employee WHERE Status = 'Active' AND (Country IN ('IN', 'US') OR CountyID = 1)

我需要等效的 Knex 查询。请在这方面帮助我。

最佳答案

类似这样的事情应该可以做到:

dbContext('Employee').where('Status', 'Active').where(builder => {
  builder.whereIn('Country', ['IN', 'US']).orWhere('CountyID', 1);
})

关于javascript - Knex.js Where 子句包含强制 AND 和可选 OR - SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53737396/

相关文章:

javascript - 淡入内容,然后制作动画 (flipInX)

自动索引的 SQL Server 2008 外键

c++ - 在调用 sqlite3_step() 之前我没有记录计数,如何在二维字符串数组中填充记录?

javascript - 使用纯 javascript 将 div 内容移动到另一个 div

javascript - Fullcalendar 将当前日期作为开始日期,并且不显示之前的日期

javascript - 苹果 360 示例

mysql - 在mysql中获取学生的相关科目

sql - 随机化drupal数据库查询

ruby-on-rails - 如果我在我的 Rails 测试套件中将 Postgres 换成 SQLite,它会导致问题吗?

sqlite - 找不到 SDK "SQLite.WinRT"- 添加引用显示 "Missing value for TargetPlatformWinMDLocation property"