sql >> Databasteknik >  >> RDS >> Oracle

ORA-00933:SQL-kommandot avslutades inte korrekt vid användning av pivot

PIVOT-operatören introducerades i Oracle 11gR1 . Din fråga fungerar bra i den versionen eller senare. I tidigare versioner får du det här felet:

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 verkar inte använda en version som stöder operatören. I tidigare versioner kan du utföra samma uppgift manuellt med aggregat och fallsatser:

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. Hur konverterar jag från en pengadatatyp i SQL-server?

  2. Rails &Postgres:Migrering till change_colomn ger fel kan inte castas till typ tidsstämpel utan tidszon

  3. Undviker SQL-injektion utan parametrar

  4. PHP-strängvariabel i WHERE-sats MySQL