Cur*_*urt 4 sql-server sql-server-2005 resultset
我有以下记录表:
Product | Colour | Quantity
---------------------------------------
Product A | Blue | 1
Product A | Red | 2
Product B | Green | 1
Run Code Online (Sandbox Code Playgroud)
如何编写查询以返回以下内容?:
Product | Colour
---------------------------
Product A | Blue
Product A | Red
Product A | Red
Product B | Green
Run Code Online (Sandbox Code Playgroud)
WITH numbers (rn) AS
(
SELECT MAX(quantity)
FROM product
UNION ALL
SELECT rn - 1
FROM numbers
WHERE rn > 1
)
SELECT p.*
FROM product p
JOIN numbers n
ON p.quantity >= n.rn
Run Code Online (Sandbox Code Playgroud)