Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- ungroup for SQL Server 2005
- DECLARE @Table TABLE(id VARCHAR(20), quantity INT)
- INSERT INTO @Table SELECT 'foo', 3
- INSERT INTO @Table SELECT 'bar', 2
- ;WITH vals AS (
- SELECT *
- FROM (SELECT id, quantity FROM @Table) p
- UNPIVOT (Cnt FOR Action IN (quantity)) unpvt
- WHERE Cnt > 0
- )
- , Recurs AS (
- SELECT id,
- Action,
- Cnt - 1 Cnt
- FROM vals
- UNION ALL
- SELECT id,
- Action,
- Cnt - 1 Cnt
- FROM Recurs
- WHERE Cnt > 0
- )
- SELECT id,
- (SELECT quantity FROM @Table t WHERE Recurs.id = t.id)
- TotalQuantity --change this
- FROM Recurs
- ORDER BY id, action
Advertisement
Add Comment
Please, Sign In to add comment