sql >> データベース >  >> RDS >> PostgreSQL

Postgresql CASEステートメント-SELECT内でCASEの戻り値を使用できますか?

    使用

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

    上記はあなたが要求したことを正確に行います...何らかの理由でそれを使用したくない場合は、CASEをプラグインしてください 計算へのステートメント(質問のオプション2)。




    1. PL / SQLプロシージャをオンラインで生成して、Oracleテーブルにデータをインポートします

    2. ER_CON_COUNT_ERROR:ノードの接続エラーが多すぎます-mysql

    3. 12c廃止された機能

    4. 列に複数の値を指定してクエリを実行する