首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以在Sequel中执行self join?

是否可以在Sequel中执行self join?
EN

Stack Overflow用户
提问于 2016-12-28 21:50:37
回答 0查看 417关注 0票数 0

我在一个出版物管理应用程序中工作。根据业务逻辑,如果一个出版物的文本具有等于或高于75%的相似度,则该出版物可以属于另一个出版物。因此,在数据库中,我在publications表上创建了一个自关系。

到目前为止,我有以下完美工作的查询:

代码语言:javascript
复制
SELECT 
    publications.id, publications.body, 
    similar_publications.id similar_id, similar_publications.body similar_body
FROM publications
LEFT JOIN publications similar_publications
  ON similar_publications.id = publications.publication_id
WHERE publications.id = <an-id-here>;

问题是,我想将这个查询“转换”为Sequel的DSL,以便简单地以如下方式调用我的模型:Publication.including_similar_publications.where('publications.id = ?', 1)

我知道我需要在我的模型中创建这个方法。我的疑问是:如何实现?Sequel中有没有类似于ActiveRecord命名作用域的东西?另一个问题是,因为我的查询是一个SELF JOIN,所以我需要在LEFT JOIN上使用别名...Sequel允许我以我在查询中公开的方式使用别名吗?如果是,是如何实现的?

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41363472

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档