Oracle
 sql >> Baza danych >  >> RDS >> Oracle

ORA-00933:Polecenie SQL nie zostało poprawnie zakończone podczas używania pivot

Operator PIVOT został wprowadzony w Oracle 11gR1 . Twoje zapytanie działa poprawnie w tej lub nowszej wersji. We wcześniejszych wersjach otrzymasz ten błąd:

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

Wygląda więc na to, że nie używasz wersji obsługującej operator. We wcześniejszych wersjach to samo zadanie można wykonać ręcznie za pomocą agregatów i instrukcji przypadku:

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. uzyskać liczbę unikalnych wartości bez oddzielania wartości należących do tego samego bloku wartości

  2. Nie można załadować pliku lub zestawu „Oracle.ManagedDataAccess.EntityFramework”

  3. Unikalne naruszenie ograniczeń podczas wstawiania:dlaczego? (Wyrocznia)

  4. Dostrajanie zapytania SQL w Oracle

  5. Nie można utworzyć Oracle View uzyskującego dostęp do obiektów innych schematów, pomimo dotacji