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

Transpose không nhất quán

Bạn có thể sử dụng một biểu thức bảng chung để cung cấp cho mỗi người mua một đơn đặt hàng trong nhà cung cấp và sau đó chỉ cần thực hiện một trường hợp thông thường để đưa họ vào các cột;

WITH cte AS (
  SELECT supplier, buyer, 
    ROW_NUMBER() OVER (PARTITION BY supplier ORDER BY buyer) rn
  FROM Table1
)
SELECT supplier, 
       MAX(CASE WHEN rn=1 THEN buyer END) buyer1,
       MAX(CASE WHEN rn=2 THEN buyer END) buyer2,
       MAX(CASE WHEN rn=3 THEN buyer END) buyer3
FROM cte
GROUP BY supplier;

Một SQLfiddle để kiểm tra .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ánh xạ NHibernate cho kiểu dữ liệu Oracle INTERVAL DAY TO SECOND

  2. Xác định một loại bản ghi trong khối PL / SQL tham chiếu đến một tập hợp của chính nó

  3. Thay thế biến / nghĩa cho con trỏ PL / SQL?

  4. Oracle APEX:menu bật lên

  5. Oracle 11.2 Windows không thể khởi động với hai dòng