Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

ORA-00933:Perintah SQL tidak diakhiri dengan benar saat menggunakan pivot

Operator PIVOT diperkenalkan di Oracle 11gR1 . Kueri Anda berfungsi dengan baik di versi itu atau yang lebih baru. Di versi sebelumnya Anda akan mendapatkan kesalahan itu:

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

Jadi Anda tampaknya tidak menggunakan versi yang mendukung operator. Di versi sebelumnya, Anda dapat melakukan tugas yang sama secara manual dengan agregat dan pernyataan kasus:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Masalah dasar:keluaran konsol PL/SQL dasar?

  2. kursor di pemicu

  3. Bagaimana cara memasukkan lebih dari 1000 nilai ke dalam klausa Oracle IN

  4. Perbedaan antara Fungsi Tabel dan Fungsi Pipeline?

  5. Bandingkan dan masukkan data baru ke dalam tabel berdasarkan bulan