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

Oracle duplikuje řádek N krát, kde N je sloupec

Můžete to udělat pomocí hierarchického dotazu:

SQL Fiddle

Dotaz 1 :

WITH levels AS (
  SELECT LEVEL AS lvl
  FROM   DUAL
  CONNECT BY LEVEL <= ( SELECT MAX( DupCount ) FROM TestTable )
)
SELECT Name,
       DupCount
FROM   TestTable
       INNER JOIN
       levels
       ON ( lvl <= DupCount )
ORDER BY Name

Výsledky :

|  NAME | DUPCOUNT |
|-------|----------|
|  Jane |        1 |
|  Jeff |        3 |
|  Jeff |        3 |
|  Jeff |        3 |
|  Mark |        2 |
|  Mark |        2 |
| Steve |        1 |


  1. Jak používat Database Documenter v Accessu

  2. SQL Vložit do tabulky nové řádky pro každé pole ve stejné tabulce

  3. Dotaz MySQL pro určité časové období

  4. Uspořádaný počet po sobě jdoucích opakování / duplikátů