0
votes

Insérer une rangée vierge dans chaque rangée

J'ai un résultat comme celui-ci: xxx pré>

J'ai utilisé cette requête: p> xxx pré>

et je veux obtenir des résultats comme ceci: P>

name
Sally
Dan
Andy
Jackson
(blank)
(blank)
(blank)
(blank)


1 commentaires

Vous le feriez normalement dans votre application - est-il essentiel de le faire dans SQL?


3 Réponses :


3
votes
select name, ROW_NUMBER() over (order by name) pos from NAMEINFO where nNameIndex < 5
union all
select '', ROW_NUMBER() over (order by name) from NAMEINFO where nNameIndex < 5
order by pos, name desc
but really you should not do this in your database but in the consuming application.

0 commentaires

2
votes

Vous pouvez essayer Row_Number () pour obtenir les résultats.

+---------+
|  name   |
+---------+
| Andy    |
|         |
| Dan     |
|         |
| Jackson |
|         |
| Sally   |
|         |
+---------+


0 commentaires

3
votes

Dans votre requête initiale, vous l'avez presque:

  select name
  from (
    SELECT nNameIndex, name
    FROM NAMEINFO 
    union all
    select nNameIndex, ''
    from NAMEINFO 
  ) as t
  order by nNameIndex


0 commentaires