Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

ORA-00933:comando SQL não finalizado corretamente ao usar o pivô


O operador PIVOT foi introduzido no Oracle 11gR1 . Sua consulta funciona bem nessa versão ou posterior. Nas versões anteriores, você receberá esse erro:
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

Portanto, você não parece estar usando uma versão que suporte o operador. Nas versões anteriores, você pode executar a mesma tarefa manualmente com agregações e instruções de caso:
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;