Mysql
 sql >> база данни >  >> RDS >> Mysql

Казуси в ARel

Мисля, че от Arel v7.x въведе Arel::Nodes::Case които могат да се използват за отчети за случаи. Можете да пренапишете тази заявка като:

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. Изявление за актуализиране на MYSQL за запълване на класирането по всеки идентификатор

  2. Как да получа имената на колоните заедно с набора от резултати в php/mysql?

  3. wampserver 2.2 64x не може да изпълни елемент от менюто (вътрешна грешка) [Изключение] Не може да изпълни действие за изпълнение:името на директорията е невалидно

  4. Актуализиране на множество колони от подзаявка

  5. Редът на таблиците в прави съединения, без директиви за подсказки, влияе ли на производителността?