sql - 如何使用 knex 进行嵌套查询以获得预期结果?
问题描述
有 3 个表,分别称为warehouses
、agents_Warehouses
和agents
。agents_warehouses
table 与warehouses
table 和agents
table 相连。
所以我需要得到不在 agents_warehouses
表中的仓库。
这是我需要从 knex.js 执行的 sql 查询;
SELECT id, name FROM `warehouses`
WHERE id not in
(SELECT warehouse_id as id from agents_warehouses WHERE agent_id=2)
如何使用 knex.js 获得预期结果?
解决方案
您可以使用以下内容构建所需的查询:
knex('warehouses')
.columns(['id', 'name'])
.whereNotIn('id', knex('agents_warehouses').column('warehouse_id').where('agent_id', 2));
推荐阅读
- malloc - LD_PRELOAD malloc 到 shm_open
- excel - 对数据库中的非结构化表格数据进行建模
- python - 如何使用 python simple-salesforce 测试插入/更新是否成功
- javascript - 在 Chrome 扩展中运行内容脚本无法访问新窗口/标签
- reactjs - 如何在反应选择的下拉菜单上显示滚动条?
- python - Paramiko exec_command 的实时输出
- javascript - 从对象列表中过滤键
- javascript - 无法弄清楚为什么声音不能与 javascript 代码一起播放
- javascript - 您如何在 bot v4 上设置计时器?
- javascript - 找不到变量:“视图”