例子 :
当我输入:
select number, city from user
get 中的结果是 3 行。如何select
我可以自动填充8行的行吗?如果使用循环怎么办?
期望的输出:
如果有 3 行,则有 5 行空行,
如果有 4 行,则有 4 个空行,依此类推。
虽然我不明白这个任务的原因,但无论如何你可以这样做:
DECLARE @t TABLE ( ID INT )
DECLARE @c INT = 8
INSERT INTO @t
VALUES ( 1 ),
( 2 ),
( 3 );
WITH cte
AS ( SELECT 1 AS rn
UNION ALL
SELECT rn + 1
FROM cte
WHERE rn <= @c
)
SELECT TOP ( @c )
*
FROM ( SELECT ID
FROM @t
UNION ALL
SELECT NULL
FROM cte
) t
ORDER BY ID DESC
Output:
ID
3
2
1
NULL
NULL
NULL
NULL
NULL
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)