Ecto: subquery must return a single field

43 views Asked by At

How do I translate this into ecto?

SELECT *
FROM mytable
WHERE (url,"when") IN
( SELECT url, MAX("when")
  FROM mytable
  GROUP BY url
)

it works fine in postgresql shell, but I get a Ecto.QueryError at runtime:

subquery must return a single field in order to be used on the right-side of `in` in query

from this code:

subq =
  from(f in MyTable,
    select: [f.url, max(f.when)],
    group_by: f.url
  )

from(s in MyTable,
  where: [s.url, s.when] in subquery(subq)
)
0

There are 0 answers