在 Node 应用程序中使用 Knex.js 构造内部连接
construct inner join with AND using Knex.js in Node application
是否可以在 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')
您是说 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');
})
})
这就是我要找的:
.innerJoin('member_staff', function() {
this.on('member.id', 'member_staff.member_id')
.andOn('staff.id', 'member_staff.staff_id');
})
是否可以在 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')
您是说 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');
})
})
这就是我要找的:
.innerJoin('member_staff', function() {
this.on('member.id', 'member_staff.member_id')
.andOn('staff.id', 'member_staff.staff_id');
})