sql >> Database teknologi >  >> RDS >> PostgreSQL

Postgresql CASE-sætning - kan jeg bruge returværdien af ​​CASE i min SELECT?

brug

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. )

Ovenstående gør præcis, hvad du bad om... hvis du af en eller anden grund ikke vil bruge det, så plugin CASE udsagn ind i beregningen (mulighed 2 fra dit spørgsmål).




  1. MySQL - Hurtigste måde at kontrollere, om data i InnoDB-tabellen er ændret

  2. LazyInitializationException forsøger at få doven initialiseret instans

  3. php - laravel :Hvordan håndterer man tidsoverlapning i databasen?

  4. Hvilken MySQL-kollation sammenligner f.eks. é og e som lige?