选择查询sql时如何添加空行

时间:2015-04-07 08:49:14

标签: sql sql-server-2008

示例: 当我输入:

select number, city from user 

get中的结果是3行。如何select我可以自动填充8行的行?如果使用循环怎么办?

期望的输出:

如果3行则有5个空行,

如果有4行则有4行空行等。

1 个答案:

答案 0 :(得分:3)

虽然我不了解这项任务的原因,但无论如何你可以这样做:

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