SQLize Online / PHPize Online  /  SQLtest Online

A A A
Share      Blog   Popular
Copy Format Clear
-- Hint: use Ctrl+Enter for SQL autocomplete CREATE TABLE currencies ( id CHAR(3) PRIMARY KEY, rate DECIMAL(12,6) ); INSERT INTO currencies VALUES ('RUB', 1), ('USD', 75.64), ('EUR', 91.67); CREATE TABLE clients ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255) ); INSERT INTO clients (name) VALUES ('CLient 1'), ('CLient 2'); CREATE TABLE deposits ( num INT PRIMARY KEY, client_id INT, balance DECIMAL(12,2), currency CHAR(3) ); INSERT INTO deposits VALUES (342344, 1, 100, 'RUB'), (342345, 1, 100, 'USD'), (342346, 2, 100, 'EUR'); SELECT * FROM clients JOIN deposits d ON d.client_id = clients.id JOIN currencies cur on d.currency = cur.id ; SELECT clients.name, SUM(balance*rate) as rub_balance FROM clients JOIN deposits d ON d.client_id = clients.id JOIN currencies cur on d.currency = cur.id GROUP BY clients.id, clients.name ; SELECT clients.name, SUM(balance * CASE d.currency WHEN 'USD' THEN 75.64 WHEN 'EUR' THEN 91.67 ELSE 1 END ) as rub_balance FROM clients JOIN deposits d ON d.client_id = clients.id GROUP BY clients.id, clients.name ;

Stuck with a problem? Got Error? Ask ChatGPT!

Copy Clear