sql >> Databáze >  >> RDS >> Sqlserver

Jak mohu rozšířit řádek na sadu výsledků s více řádky?

Můžete použít rekurzivní CTE:

;WITH CTE AS
(
    SELECT *
    FROM YourTable
    UNION ALL 
    SELECT id, pcs-1
    FROM CTE
    WHERE pcs-1 >= 1
)
SELECT *
FROM CTE
ORDER BY id, pcs
OPTION(MAXRECURSION 0)

Zde je ukázka abyste to zkusili.



  1. Odstranění části řetězce v MYSQL

  2. Sublime Text MySQL Build System problém nahrazování proměnné

  3. Oddělení dat MySQL versus snadné použití

  4. Jak vložit do tabulky proměnnou s dynamickým dotazem?