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

Sådan udfolder du resultaterne af en Oracle-forespørgsel baseret på værdien af ​​en kolonne

SQL Fiddle

Oracle 11g R2 Schema Setup :

CREATE TABLE test ( col1, col2 ) AS
          SELECT 'a', 2 FROM DUAL
UNION ALL SELECT 'b', 3 FROM DUAL
UNION ALL SELECT 'c', 1 FROM DUAL
 

Forespørgsel 1 :

SELECT col1,
       col2
FROM   test t,
       TABLE(
         CAST( 
           MULTISET(
             SELECT LEVEL
             FROM   DUAL
             CONNECT BY LEVEL <= t.col2
           )
           AS SYS.ODCINUMBERLIST
         )
       )
 

Resultater :

| COL1 | COL2 | |------|------| | a | 2 | | a | 2 | | b | 3 | | b | 3 | | b | 3 | | c | 1 |

  1. Kan ikke få adgang til midlertidige tabeller fra en funktion

  2. Vælg den seneste række med GROUP BY i MySQL

  3. Sådan indsætter du flere rækker i en tabel baseret på en række tal

  4. Python og MySQLdb advarsler