Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- WITH u_c AS (
- SELECT
- a.username AS u,
- SUM(r.amount) AS c
- FROM accounts a
- JOIN readings r ON a.id = r.account_id
- GROUP BY a.username
- )
- SELECT
- u AS username,
- c AS consumption,
- CASE
- WHEN c <= 200 THEN CAST(CAST(c * (SELECT cost FROM tariffs WHERE name='A') AS DECIMAL(10,2)) AS CHAR)
- ELSE 'NULL'
- END AS `A(0-200)`,
- CASE
- WHEN c BETWEEN 201 AND 499 THEN CAST(CAST(c * (SELECT cost FROM tariffs WHERE name='B') AS DECIMAL(10,2)) AS CHAR)
- ELSE 'NULL'
- END AS `B(201-499)`,
- CASE
- WHEN c >= 500 THEN CAST(CAST(c * (SELECT cost FROM tariffs WHERE name='C') AS DECIMAL(10,2)) AS CHAR)
- ELSE 'NULL'
- END AS `C(500+)`
- FROM u_c
- ORDER BY u ASC;
Advertisement
Add Comment
Please, Sign In to add comment