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

Вмъкване на брой празни редове в SQL

Просто дефинирайте втора заявка, която изгражда празните редове, от които се нуждаете, и ги обединете заедно.

SELECT ROW_NUMBER() OVER(PARTITION BY family_id ORDER BY family_id) AS rowNum,
    full_name as name,
    family_id
FROM tbl_person

UNION ALL

SELECT n.N AS rowNum,
    NULL AS name,
    p.family_id
FROM (SELECT family_id, COUNT(*) family_count FROM tbl_person group by family_id) p
INNER JOIN (
    SELECT 1 AS N
    UNION ALL SELECT 2
    UNION ALL SELECT 3
    UNION ALL SELECT 4
    ) n
    ON n.n > p.family_count
ORDER BY family_id,
    rowNum,
    name;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Референтен псевдоним (изчислен в SELECT) в клаузата WHERE

  2. SQL пространствен многоъгълник отвътре навън

  3. Списък с резервни копия на плана за поддръжка на SQL Server 2008

  4. Как да съхранявате директория/йерархия/дървовидна структура в базата данни?

  5. Променете подозрителния режим на базата данни на SQL на нормален режим със заявка