Oracle
 sql >> Base de données >  >> RDS >> Oracle

ORA-00933 :La commande SQL ne s'est pas correctement terminée lors de l'utilisation de pivot

L'opérateur PIVOT a été introduit dans Oracle 11gR1 . Votre requête fonctionne correctement dans cette version ou une version ultérieure. Dans les versions antérieures, vous obtiendrez cette erreur :

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

Vous ne semblez donc pas utiliser une version prenant en charge l'opérateur. Dans les versions antérieures, vous pouvez effectuer la même tâche manuellement avec des agrégats et des déclarations de cas :

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;