Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

ORA-00933:Lệnh SQL không được kết thúc đúng cách khi sử dụng pivot

Toán tử PIVOT đã được giới thiệu trong Oracle 11gR1 . Truy vấn của bạn hoạt động tốt trong phiên bản đó hoặc mới hơn. Trong các phiên bản trước đó, bạn sẽ gặp lỗi đó:

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

Vì vậy, có vẻ như bạn đang sử dụng phiên bản hỗ trợ nhà điều hành. Trong các phiên bản trước đó, bạn có thể thực hiện cùng một tác vụ theo cách thủ công với các tổng hợp và câu lệnh trường hợp:

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. ROW_NUMBER truy vấn

  2. Oracle:chọn giá trị lớn nhất từ ​​các cột khác nhau của cùng một hàng

  3. Làm cách nào để gỡ cài đặt Nhà cung cấp dữ liệu Oracle không dùng nữa?

  4. hiển thị kết quả theo chiều dọc trong oracle

  5. ORA-01438:giá trị lớn hơn độ chính xác được chỉ định cho phép đối với cột này - Làm cách nào để lấy cột mà nó đang đề cập đến?