在 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 个最近邻居?

反 ROC-AUC 值?

在 Node 应用程序中使用 AND 使用 Knex.js 构造内部连接

在电子中使用 node.js 模块

如何在 Cappuccino 中使用 Node.js?

在IOS中构建一个使用node.js服务器的聊天应用程序[关闭]