PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Bagaimana cara menggunakan case-when di Ecto Query di elixir?

Seperti yang dikatakan komentar, Anda dapat menggunakan fragment/1 :

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

Jika Anda ingin menentukan tabel, ini berfungsi untuk saya:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Relasi dbo.MyTable tidak ditemukan saat skema dan tabel ada

  2. Singkirkan tanda kutip ganda dengan SQLalchemy untuk PostgreSQL

  3. Npgsql - Metode yang ditentukan tidak didukung

  4. ActiveRecord::StatementInvalid, PG::UndefinedTable error, tetapi SQL yang dihasilkan berfungsi

  5. Menggunakan kolom yang sama beberapa kali dalam klausa WHERE