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

ORA-00933:ピボットの使用中にSQLコマンドが正しく終了しませんでした

    PIVOTオペレーターはOracle11gR1で導入されました> 。クエリは、そのバージョン以降で正常に機能します。以前のバージョンでは、そのエラーが発生します:

    SQL> SELECT * FROM sales PIVOT (sum(quantity) FOR color IN ('WHITE','DARK'));
    SELECT * FROM sales PIVOT (sum(quantity) FOR color IN ('WHITE','DARK'))
                              *
    ERROR at line 1:
    ORA-00933: SQL command not properly ended
    

    したがって、演算子をサポートするバージョンを使用しているようには見えません。以前のバージョンでは、集計とcaseステートメントを使用して同じタスクを手動で実行できます。

    select item_name, clothes_size,
      sum(case when color = 'WHITE' then quantity end) as white,
      sum(case when color = 'DARK' then quantity end) as dark
    from sales
    group by item_name, clothes_size
    order by item_name, clothes_size;
    


    1. TimescaleDBの高度なデータベース監視と管理

    2. パスワードにsqlplusと特殊文字を含むシェルスクリプト

    3. forループで使用される一連の日付を生成する

    4. OraclePLSQLのACCEPTステートメント