sql >> Base de Datos >  >> RDS >> Oracle

ORA-00933:El comando SQL no finalizó correctamente al usar pivote

El operador PIVOT se introdujo en Oracle 11gR1 . Su consulta funciona bien en esa versión o posterior. En versiones anteriores obtendrá ese error:

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

Por lo tanto, no parece estar utilizando una versión compatible con el operador. En versiones anteriores, puede realizar la misma tarea manualmente con agregados y declaraciones de casos:

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;