Oracle
 sql >> Datenbank >  >> RDS >> Oracle

ORA-00933:SQL-Befehl wurde bei Verwendung von Pivot nicht ordnungsgemäß beendet

Der PIVOT-Operator wurde in Oracle 11gR1 eingeführt . Ihre Abfrage funktioniert in dieser Version oder höher einwandfrei. In früheren Versionen erhalten Sie diesen Fehler:

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

Sie scheinen also keine Version zu verwenden, die den Operator unterstützt. In früheren Versionen können Sie dieselbe Aufgabe manuell mit Aggregaten und Case-Anweisungen ausführen:

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;