sql >> Databasteknik >  >> RDS >> Sqlserver

Hur man lägger till tomma rader när man väljer query sql

Även om jag inte förstår orsaken till den här uppgiften, kan du ändå göra det som:

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      

Utdata:

ID
3
2
1
NULL
NULL
NULL
NULL
NULL



  1. hur man överför CLOB-data från en databas till en annan fjärransluten ORACLE-databas med DBLinks

  2. Python/Flask:Hur vet man hur länge en användare spenderar på en sida? (Datainmatning/tidsloggapp)

  3. SQL Server 2005 Hur skapar man en unik begränsning?

  4. PostgreSQL skickar data från rekursiv CTE till funktion