sql >> Database >  >> RDS >> PostgreSQL

Postgresql CASE-instructie - kan ik de retourwaarde van de CASE in mijn SELECT gebruiken?

gebruik

SELECT
productid, 
stylename,
final_original_price,
final_sale_price,
((final_original_price - final_sale_price) / final_original_price * 100) AS final_discount_percentage 
FROM
(
SELECT  p.productid, p.stylename,
CASE    WHEN (ppo.original_price IS NOT NULL) THEN ppo.original_price ELSE pp.original_price END AS final_original_price,
CASE    WHEN (ppo.original_price IS NOT NULL) THEN ppo.sale_price ELSE pp.sale_price END AS final_sale_price
FROM product p, ... etc.
)

Het bovenstaande doet precies waar je om vroeg... als je het om de een of andere reden niet wilt gebruiken, plug dan de CASE in uitspraken in de berekening (optie 2 van uw vraag).




  1. LINQPad en Oracle

  2. strip_tags werken niet

  3. Foutafhandeling beheren tijdens het uitvoeren van sqlplus vanuit shellscripts

  4. Het definiëren van verschillende variabelen uit een SQL-databasetabel - een betere praktijk?