PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Como usar case-when em Ecto Queries no elixir?


Como o comentário disse, você pode usar fragment/1 :
query = from t in <Model>, select: fragment("SUM(CASE WHEN status = ? THEN 1 ELSE 0 END)", 2)

Se você quiser especificar a tabela, isso funciona para mim:
query = from t in <Model>, select: fragment("SUM(CASE WHEN ? = ? THEN 1 ELSE 0 END)", t.status, 2)