PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Come usare caso-quando in Ecto Query in elisir?

Come ha detto il commento, puoi usare fragment/1 :

query = from t in <Model>, select: fragment("SUM(CASE WHEN status = ? THEN 1 ELSE 0 END)", 2)

Se vuoi specificare la tabella, questo funziona per me:

query = from t in <Model>, select: fragment("SUM(CASE WHEN ? = ? THEN 1 ELSE 0 END)", t.status, 2)