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

Oracleで複数列の合計を計算する方法

    THEN CASEの句 式が正しくありません:

    CASE WHEN SUM(L55.TOTAL_QUANTITY - BC.FULLBOX * L55.PACKING_STYLE) = 0  
         THEN L55.SPAREBOX = 0
    ----------^
         WHEN SUM(L55.TOTAL_QUANTITY - BC.FULLBOX * L55.PACKING_STYLE) != 0 
         THEN L55.SPAREBOX = 1
    END AS SPARE_QUANTITY
    

    OracleのSELECTにはブールデータ型がありません クエリ。

    私はあなたが単に欲しいと思っています:

    (CASE WHEN SUM(L55.TOTAL_QUANTITY - BC.FULLBOX * L55.PACKING_STYLE) = 0  
          THEN 0
          WHEN SUM(L55.TOTAL_QUANTITY - BC.FULLBOX * L55.PACKING_STYLE) <> 0 
          THEN 1
     END) AS SPARE_QUANTITY
    

    または、CASEを削除したい場合 :

    ABS(SIGN(SUM(L55.TOTAL_QUANTITY - BC.FULLBOX * L55.PACKING_STYLE))) AS SPARE_QUANTITY
    



    1. Oracleでトップ1にするにはどうすればよいですか?

    2. 大きなXMLファイル(〜10GB)をPostgreSQLにインポートする方法

    3. MySqlの保護されたキーワードと同じ名前を共有するテーブルのSQLを作成するにはどうすればよいですか?

    4. idとcustomIdでマークされた行のコレクションから未使用の最小値を検索します