sql >> Database teknologi >  >> RDS >> Oracle

Ønsket output med givne tabeldata

Nej, det kan ikke gøres med PIVOT , men det kan gøres med UNPIVOT :

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

Og når UNPIVOT er utilgængelig, deaktiverer jeg ofte sådan:

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. INSERT-sætning i Oracle

  2. Hvad er de respektive fordele/begrænsninger ved Amazon RDS vs. EC2 med MySQL?

  3. MySQL rækkefølge efter felt i Eloquent

  4. Problemer med at prøve at bruge MySQL i forbindelse med Emacs