Sub*_*cob 4 sql sql-server-2008
Animal Count Color
------ ----- -----
Dog 2 brown
Cat 4 black
Result
Animal Color
------
Dog brown
Dog brown
Cat black
Cat black
Cat black
Cat black
Run Code Online (Sandbox Code Playgroud)
您可以通过Common Table Expression以下方式实现它:
CREATE TABLE #Test
(
Animal NVARCHAR(20),
CountAnimals INT,
Color NVARCHAR(20)
)
INSERT INTO #Test VALUES ('Dog', 2, 'brown'), ('Cat', 4, 'black');
WITH CTE AS (
SELECT Animal,CountAnimals,Color FROM #Test
UNION ALL
SELECT Animal,CountAnimals-1,Color
FROM CTE
WHERE CountAnimals >= 2
)
SELECT Animal,Color
FROM CTE
ORDER BY Animal DESC
OPTION (MAXRECURSION 0);
DROP TABLE #Test
Run Code Online (Sandbox Code Playgroud)
OUTPUT
Animal Color
Dog brown
Dog brown
Cat black
Cat black
Cat black
Cat black
Run Code Online (Sandbox Code Playgroud)