sql >> Database >  >> RDS >> Mysql

Casusverklaringen in ARel

Ik denk dat vanaf Arel v7.x Arel::Nodes::Case is geïntroduceerd een> die kunnen worden gebruikt voor case-statements. U kunt deze query herschrijven als:

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. Wat is het juiste DateTime-formaat voor MySQL Database?

  2. Fout tijdens Django Lopende migraties:django.db.utils.OperationalError:(2013, 'Verbinding met MySQL-server verbroken tijdens query')

  3. XMLTABLE in oracle - XQuery dynamisch type komt niet overeen:verwachte singleton-reeks - kreeg reeks met meerdere items

  4. Wordt het TransactionScope-object volledig ondersteund met MySqlConnector voor .NET?