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

Đầu ra mong muốn với dữ liệu bảng nhất định

Không, không thể thực hiện được với PIVOT , nhưng nó có thể được thực hiện với UNPIVOT :

SELECT
  Pk,
  "Key",
  value
FROM Testing
UNPIVOT (
  value FOR "Key" IN (C1, C2)
)

Và khi UNPIVOT không khả dụng, tôi thường bỏ chia sẻ như thế này:

SELECT
  t.Pk,
  x."Key",
  CASE x."Key"
    WHEN 'C1' THEN t.C1
    WHEN 'C2' THEN t.C2
  END AS value
FROM Testing t
CROSS JOIN (
  SELECT 'C1' AS "Key" FROM DUAL UNION ALL
  SELECT 'C2' FROM DUAL
) x



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. script lấy dữ liệu từ tệp txt trong mệnh đề where

  2. ResultSet.getString () trên cột VARCHAR2 trả về chuỗi trống

  3. Trailing Zero

  4. Cách trả lại danh sách các ngôn ngữ được hỗ trợ trong Oracle

  5. Làm cách nào để nhập cơ sở dữ liệu Oracle từ tệp dmp và tệp nhật ký?