sql >> Database teknologi >  >> RDS >> Mysql

Sagsudtalelser i ARel

Jeg tror fra Arel v7.x introducerede Arel::Nodes::Case som kan bruges til sagsfremstillinger. Du kan omskrive denne forespørgsel som:

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. 3 måder at finde ud af, om en kolonne er en beregnet kolonne i SQL Server

  2. 400 SELECT-forespørgsler til at udfylde php-gitteret

  3. Django-objektskabelse og Postgres-sekvenser

  4. Undslip dobbelte anførselstegn med variabel inde i HTML-ekko