示例:当我键入时:
select number, city from user
获取的结果为3行。如何将select我可以自动填入的那一行8行?如果使用循环怎么办?
select
所需的输出:
如果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
输出:
ID 3 2 1 NULL NULL NULL NULL NULL