Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да добавите празни редове, когато изберете заявка sql

Въпреки че не разбирам причината за тази задача, можете да я направите така:

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ограничете редовете, върнати в заявка на SQL Server, като използвате клаузата TOP

  2. Как да вмъкна FOR AUTO XML резултат в таблица?

  3. Проблем с CONVERT в sqlserver с грешка Msg 529

  4. Инструкция за изтриване на SQL Server:Как да премахнете един или умножете редове от таблицата

  5. Заявка на SQL Server:редовете правят колони (Pivot?)