Oracle
 sql >> база данни >  >> RDS >> Oracle

ORA-00933:SQL командата не е приключила правилно при използване на ос

Операторът PIVOT беше въведен в Oracle 11gR1 . Вашата заявка работи добре в тази версия или по-нова. В по-ранните версии ще получите тази грешка:

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

Така че изглежда не използвате версия, която поддържа оператора. В по-стари версии можете да изпълните същата задача ръчно с агрегати и оператори за случай:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Подаване на динамични входни параметри за „незабавно изпълнение“

  2. oracle заявка последователно сумиране на редове

  3. свързващ оракул от r

  4. Как да изпълним необработена заявка с връщане в sqlalchemy

  5. Нежелани нови редове при спулиране на sqlplus резултат в xml файл