sql >> Database teknologi >  >> RDS >> PostgreSQL

Søg efter en model givet prisinterval i forskellige valutaer

Du kan bruge SQL CASE for det:

SELECT price, currency,
       CASE WHEN currency='USD' THEN price * 1
            WHEN currency='RUB' THEN price * 65
            ELSE price
       END as final_price
FROM products
WHERE final_price BETWEEN 10 AND 100

Skinnerversion:

Product.select("price, currency, CASE 
  WHEN currency='USD' THEN price * 1  
  WHEN currency='RUB' THEN price * 65 
  ELSE price END as final_price")
.where("final_price BETWEEN ? AND ?", 10, 100)


  1. Sådan løses Mysql til mysql, da jeg har nogle problemer

  2. Docker &Postgres:Kunne ikke binde tcp 0.0.0.0:5432 adresse, der allerede er i brug

  3. Valgfri INSERT-sætning i transaktionskæden ved hjælp af NodeJS og Postgres

  4. Kalder lagret procedure med Out-parameter ved hjælp af PDO