Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Pożądane wyjście z podanymi danymi tabeli

Nie, nie można tego zrobić za pomocą PIVOT , ale może zrobić z UNPIVOT :

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

A kiedy UNPIVOT jest niedostępny, często unpivotuję w ten sposób:

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. Oracle - zaktualizuj rekord i zwróć zaktualizowaną datę w tym samym zapytaniu

  2. Jak uzyskać listę wszystkich procedur wewnątrz pakietu oracle?

  3. Oracle — ORA-01489:wynik konkatenacji ciągów jest za długi

  4. Zwracanie „tabeli” (bez wstępnego definiowania nazw kolumn) z funkcji PL/SQL

  5. PHP OCI, Oracle i domyślny format liczb