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

Oracle Kombiner flere kolonner til én

Du kan bruge UNPIVOT :

Oracle-opsætning :

CREATE TABLE your_table ( spot, id, sunday, monday, tuesday, wednesday, thursday, friday, saturday ) AS
  SELECT 'A', 1, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4 FROM DUAL UNION ALL
  SELECT 'A', 2, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45 FROM DUAL UNION ALL
  SELECT 'A', 3, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45, 0.5 FROM DUAL;
 

Forespørgsel :

SELECT *
FROM   your_table
UNPIVOT ( Value FOR Day_of_week IN (
  sunday    AS 1,
  monday    AS 2,
  tuesday   AS 3,
  wednesday AS 4,
  thursday  AS 5,
  friday    AS 6,
  saturday  AS 7
 ) );
 

Output :

S ID DAY_OF_WEEK VALUE - -- ----------- ----- A 1 1 .1 A 1 2 .15 A 1 3 .2 A 1 4 .25 A 1 5 .3 A 1 6 .35 A 1 7 .4 A 2 1 .15 A 2 2 .2 A 2 3 .25 A 2 4 .3 A 2 5 .35 A 2 6 .4 A 2 7 .45 A 3 1 .2 A 3 2 .25 A 3 3 .3 A 3 4 .35 A 3 5 .4 A 3 6 .45 A 3 7 .5

  1. Opret en database i SQL Server 2017

  2. Minimering af virkningen af ​​at udvide en IDENTITY-søjle – del 2

  3. Hvordan installeres Postgis til en Keg-installation af [email protected] ved hjælp af Homebrew?

  4. Laravel OrderBy forhold tæller