sql >> Database >  >> RDS >> Sqlserver

Hoe kan ik een rij uitbreiden naar een resultaatset met meerdere rijen?

U kunt een recursieve CTE gebruiken:

;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)

Hier is een demo voor jou om te proberen.



  1. Multi-level voor lus in PHP

  2. MySQL:voorwaarde op resultaat van GROUP_CONCAT?

  3. Welk formaat is dit?

  4. een CSV importeren in phpmyadmin