sql >> Database teknologi >  >> RDS >> Sqlserver

Hvordan kan jeg udvide en række til et resultatsæt med flere rækker?

Du kan bruge en rekursiv 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)

Her er en demo for dig at prøve.



  1. SQL Count records inden for en måned ved hjælp af et unix-tidsstempel

  2. PHP-forberedt sætningsindsættelse fra en løkke af data

  3. Heroku PostgreSQL GROUP_BY fejl i Rails app

  4. Er der overhovedet at sende et json array til server side php og indsætte dets værdier i en tabel?