Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment ajouter des lignes vides lors de la sélection de la requête sql

Bien que je ne comprenne pas la cause de cette tâche, de toute façon vous pouvez le faire comme :

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      

Sortie :

ID
3
2
1
NULL
NULL
NULL
NULL
NULL