PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Wyszukaj model w danym przedziale cenowym w różnych walutach

Możesz użyć SQL CASE za to:

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

Wersja na szynach:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSql 'PDOException' z komunikatem 'nie można znaleźć sterownika'

  2. Postgres upsert:rozróżnij wiersze nowe i zaktualizowane

  3. Policz wiersze po dołączeniu do trzech tabel w PostgreSQL

  4. Czy Postgres przepisuje cały wiersz podczas aktualizacji?

  5. Utrzymywanie postgresów całkowicie w pamięci