sql >> Databáze >  >> RDS >> PostgreSQL

Násobení dvou sloupců, které byly vypočteny na příkazu CASE

Vždy můžete použít CTE k abstrahování věcí na jinou úroveň, pokud to pomůže - něco ve smyslu ...

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. Jak vrátit NULL, když je výsledek prázdný?

  2. jak se vypořádat s přemapováním lze provést pouze pro uživatele, kteří byli namapováni na přihlášení Windows nebo SQL

  3. chatovací server:jaký je nejlepší (optimalizovaný) způsob uložení protokolu konverzace

  4. vyberte dotaz ve wordpressu