sql >> Databáze >  >> RDS >> Mysql

Případová prohlášení v Arel

Myslím, že z Arel v7.x představil Arel::Nodes::Case které lze použít pro případová prohlášení. Tento dotaz můžete přepsat jako:

def case_statements
  orders = Order.arel_table
  Arel::Nodes::Case.
  new(orders[:quantity]).
  when(2).then(orders[:quantity] * 500).
  when(5).then(orders[:quantity] * 450).
  when(10).then(orders[:quantity] * 350)
end
orders = Order.arel_table

Order.
select(Arel.star).
select(Arel::Nodes::Sum.new(case_statements).as("total_price")).
group(orders[:user_id]).
having("total_price > ?", minimum_price).
order("total_price")



  1. PGSQL není načteno v PHP 5.3 Windows pod IIS

  2. Dva duplicitní indexy se stejnými sloupci

  3. ODP.NET Oracle.ManagedDataAccess způsobí konec relace sítě ORA-12537 souboru

  4. Úvod do automatického škálování Amazon Web Services (AWS).