Iam_Sandeep

Untitled

Jun 29th, 2026
35
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 0.75 KB | None | 0 0
  1. WITH u_c AS (
  2.     SELECT
  3.         a.username AS u,
  4.         SUM(r.amount) AS c
  5.     FROM accounts a
  6.     JOIN readings r ON a.id = r.account_id
  7.     GROUP BY a.username
  8. )
  9. SELECT
  10.     u AS username,
  11.     c AS consumption,
  12.     CASE
  13.         WHEN c <= 200 THEN CAST(CAST(c * (SELECT cost FROM tariffs WHERE name='A') AS DECIMAL(10,2)) AS CHAR)
  14.         ELSE 'NULL'
  15.     END AS `A(0-200)`,
  16.     CASE
  17.         WHEN c BETWEEN 201 AND 499 THEN CAST(CAST(c * (SELECT cost FROM tariffs WHERE name='B') AS DECIMAL(10,2)) AS CHAR)
  18.         ELSE 'NULL'
  19.     END AS `B(201-499)`,
  20.     CASE
  21.         WHEN c >= 500 THEN CAST(CAST(c * (SELECT cost FROM tariffs WHERE name='C') AS DECIMAL(10,2)) AS CHAR)
  22.         ELSE 'NULL'
  23.     END AS `C(500+)`
  24. FROM u_c
  25. ORDER BY u ASC;
  26.  
Advertisement
Add Comment
Please, Sign In to add comment