sql >> Database teknologi >  >> RDS >> Oracle

ORA-00933:SQL-kommando blev ikke afsluttet korrekt under brug af pivot

PIVOT-operatøren blev introduceret i Oracle 11gR1 . Din forespørgsel fungerer fint i den version eller nyere. I tidligere versioner vil du få denne fejlmeddelelse:

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

Så du ser ikke ud til at bruge en version, der understøtter operatøren. I tidligere versioner kan du udføre den samme opgave manuelt med aggregater og sagsudsagn:

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. Ringer til Oracle PL/SQL PLS-00201:identifikator '001' skal erklæres

  2. Gennemsnit af grupperede rækker i SQL Server

  3. Alternative måder at undgå geokodebegrænsning med Google Maps

  4. Hvordan importerer man en sql-fil af northwind-databasen til PostgreSQL?