sql >> Databáze >  >> RDS >> Oracle

Požadovaný výstup s danými tabulkovými daty

Ne, nelze to provést pomocí PIVOT , ale může provést pomocí UNPIVOT :

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

A když UNPIVOT není k dispozici, často odpivotuji takto:

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. Zkontrolujte omezení v SQL

  2. Zajímavý problém s Oracle UNION a ORDER BY

  3. Nelze vytvořit nové připojení je sqldeveloepr

  4. Nepodařilo se připojit k mysql na 127.0.0.1:3306 s uživatelem root přístup odepřen pro uživatele 'root'@'localhost' (pomocí hesla:YES)