Ecto 片段子查询别名

Ecto fragment subquery alias

我有一个 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 添加别名。

我该怎么做?

您可以使用 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