合并,加入和分组

时间:2018-06-27 06:46:47

标签: sql postgresql knex.js

我有下表。

users {
  id,
  blog_id,
  deleted,
  ...other fields
}

blogs {
  id,
  posts: [],
  name,
  deleted,
}

在单个knex查询中有可能让一个用户获得博客帖子吗?

我正在尝试这样:

db
  .table('users')
  .where('id', id)
  .whereNot('deleted', true)
  .join('blogs', { 'blog_id': 'blogs.id' })
  .select();

但是我收到以下错误:

  

错误:列引用“已删除”不明确

有更好的方法吗? (只需要博客表中的帖子)

1 个答案:

答案 0 :(得分:1)

只需调用另一个函数“ .columns([''])”-

db('users')
.leftJoin('blogs', 'blogs.id', 'users.blog_id')
.where('blogs.id', id)
.whereNot('blogs.deleted', true)
.columns(['users.id', 'blogs.name']); // what ever you want