Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Opisy przypadków w ARel

Myślę, że od Arel v7.x wprowadzono Arel::Nodes::Case które mogą być używane do instrukcji case. Możesz przepisać to zapytanie 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nie można połączyć się z bazą danych MySQL w Node.js

  2. Jak używać zmiennych użytkownika w klauzuli MySQL LIKE?

  3. MySQL - Dlaczego reguły COLLATION są ignorowane przez operator LIKE dla niemieckiego znaku ß?

  4. jak pobrać dane w JSP wewnątrz tabeli na podstawie wyboru z listy rozwijanej?

  5. Jaka jest różnica semantyczna między GDZIE a MIEĆ?