【问题标题】:Ecto fragment subquery aliasEcto 片段子查询别名
【发布时间】:2021-10-06 21:13:17
【问题描述】:

我有一个 Ecto 子查询,例如

my_sub = from(m in module
  select: %{id, date}
)

another_subquery = from(m2 in module2
  join: fragment(subquery(my_sub) "as s")
  ...
)

我正在尝试为联接中的 my_sub as s 起别名。

我该怎么做?

【问题讨论】:

  • my_sub = from m in module, select: %{id: m.id} 然后another_subquery = from m2 in module2, join: u in subquery(my_sub), on: m2.id == u.id

标签: elixir ecto


【解决方案1】:

您可以使用 Ecto 的 positional binding 实现“别名”。

my_subquery =
  from m in Module,
  select: %{id: m.id, date: m.date}

another_subquery = 
  from m2 in Module2,
  join: s in subquery(my_subquery), on: m2.id == s.id,
  where: s.date >= ^my_date

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-09
    • 2019-03-09
    • 1970-01-01
    相关资源
    最近更新 更多