我想买其他的 user_id
来自与 event_id
s。我试过使用子查询和 this.on
在leftjoin和outerleftjoin中函数。无法用下面的代码绕过“not unique table/alias”错误。
knex('user_2_event')
.select(
'event.*',
'user_2_event.user_id as main_user_id'
)
.where('user_2_event.user_id',17)
.join('event', 'event.event_id', 'user_2_event.event_id')
.leftOuterJoin('user_2_event', function(){
this.on('user_2_event.event_id', '=', 'event.event_id')
})
或者用这个代替上面的leftouterjoin,它会产生一个“语法错误”。
.join(
knex('user_2_event')
.select('user_2_event.user_id as other_user')
.where('user_2_event.event', '=','event.event_id')
)
1条答案
按热度按时间e3bfsja21#
在以各种方式搜索同一个表上不同方式获取数据的指南(但是有人用技术术语表示),有人建议我在同一个表上使用别名。瞧,又快又简单,不用担心连接函数和子查询。