sql >> Database >  >> RDS >> Oracle

Gewenste uitvoer met gegeven tabelgegevens

Nee, het kan niet met PIVOT , maar het kan gedaan worden met UNPIVOT :

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

En wanneer UNPIVOT niet beschikbaar is, maak ik het draaien vaak als volgt ongedaan:

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. Hoe gebruik ik de CONCAT-functie in SQL Server 2008 R2?

  2. SQLSTATE [HY000] [2002] php_network_getaddresses:getaddrinfo mislukt:nodename noch servname opgegeven, of niet bekend

  3. De meest elegante manier om permutaties in SQL-server te genereren

  4. MySQL - alternatieven voor geneste subquery's bij het beperken van geaggregeerde gegevens in een gecorreleerde subquery