sql >> Databasteknik >  >> RDS >> PostgreSQL

Multiplicera två kolumner som har beräknats på en CASE-sats

Du kan alltid använda en CTE för att abstrahera bort saker till en annan nivå, om det hjälper - något i stil med ...

With CTE as
(
 SELECT
  CASE column1
    WHEN something THEN 10
    ELSE 20
    END AS newcol1,
  CASE column12
    WHEN something THEN 30
    ELSE 40
    END AS newcol2,
  column3,
 FROM table
)
SELECT
  newcol1, newcol2,
  count(column3) as newcol3,
 (newcol2 * newcol3) AS newcol4
FROM CTE 
GROUP BY newcol1,newcol2,newcol3


  1. php för att lägga till data till mySQL från POST-formuläret

  2. Hur lägger man till offset i en urvalsfråga i Oracle 11g?

  3. Fel vid kontroll av PDO-förberedda uttalanden

  4. Diagram för att uppdatera från ett rullgardinsval