在 Node 应用程序中使用 AND 使用 Knex.js 构造内部连接
Posted
技术标签:
【中文标题】在 Node 应用程序中使用 AND 使用 Knex.js 构造内部连接【英文标题】:construct inner join with AND using Knex.js in Node application 【发布时间】:2019-05-08 17:41:23 【问题描述】:是否可以在Node
应用程序中使用knex.js
编写类似于此SQL
连接的连接?
INNER JOIN member_staff ON members.id = member_staff.member_id AND staff.id = member_staff.staff_id
我假设它看起来像这样(尽管这不起作用,而且我找不到任何解释如何做我想做的事情的文档):
.innerJoin('member_staff', 'members.id', 'member_staff.member_id').onAnd('staff.id', 'member_staff.staff_id')
【问题讨论】:
【参考方案1】:你的意思是onIn
?
.onIn('contacts.id', [7, 15, 23, 41])
OnAnd 不存在。
你也可以使用onExists
knex.select('*').from('users').join('contacts', function()
this.on('users.id', '=', 'contacts.id').onExists(function()
this.select('*').from('accounts').whereRaw('users.account_id = accounts.id');
)
)
【讨论】:
谢谢,但我想要的都不是。【参考方案2】:这就是我要找的东西:
.innerJoin('member_staff', function()
this.on('member.id', 'member_staff.member_id')
.andOn('staff.id', 'member_staff.staff_id');
)
【讨论】:
以上是关于在 Node 应用程序中使用 AND 使用 Knex.js 构造内部连接的主要内容,如果未能解决你的问题,请参考以下文章
有没有办法使用用户定义的距离度量来选择 scikits 学习中的 k 个最近邻居?