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;