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

Transpose tidak konsisten

Anda dapat menggunakan ekspresi tabel umum untuk memberikan pesanan kepada setiap pembeli di dalam pemasok, dan kemudian lakukan kasus biasa untuk meletakkannya di kolom;

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;

Sebuah SQLfiddle untuk diuji .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kelompokkan dengan menyebabkan peningkatan besar dalam waktu eksekusi kueri

  2. menggunakan pemicu untuk memastikan konsistensi data

  3. Memahami Java Oracle di Mac

  4. Oracle:Saya memerlukan gabungan luar sebagian. Lihat gambarnya

  5. apakah mungkin untuk memiliki generator urutan alfanumerik di sql