【问题标题】:Arel (Rails) Is it possible to make complex query?Arel(Rails)是否可以进行复杂的查询?
【发布时间】:2017-04-07 11:04:49
【问题描述】:

我需要使用ANY/ALL 创建对数据库的查询。在研究了 Arel 的可能性后,我发现 Arel 没有任何简短的命令(如 eqltgt 等),但它只有一个示例有 Arel::SqlLiteral。对我来说,如何使用这样的经典查询并不那么明显:

SELECT column_name(s)
FROM table_name
WHERE column_name operator ALL
(SELECT column_name FROM table_name WHERE condition);

而不是示例中的查询。有人可以告诉我它应该是什么样子吗?

【问题讨论】:

  • 嗯.. 没有想法?

标签: sql ruby-on-rails arel


【解决方案1】:

您可以使用 ActiveRecord 方法来完成,而无需使用 Arel:

sub_query = Model.select(:column_name).where(condition).to_sql
Model.
  select("column_name(s)").
  where("column_name operator ALL (#{sub_query})")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-13
    • 1970-01-01
    • 2021-11-27
    • 1970-01-01
    • 2012-08-24
    • 1970-01-01
    相关资源
    最近更新 更多