Ни один из ответов выше не будет работать, если только все ваши имена не появятся после «первого» в порядке сортировки.
Select FirstName, LastName
from (
select Sorter = 1, FirstName, LastName from People
union all
select 0, 'FirstName', 'LastName') X
order by Sorter, FirstName -- or whatever ordering you need
Если вы хотите сделать это, чтобы все столбцы, не VARCHAR, как хорошо, CONS (по крайней мере):
- ВСЕ ваши данные станут VARCHAR. Если вы используете Visual Studio, например, вы НЕ ДОЛЖНЫ быть в состоянии распознавать или использовать значения даты. Или значения int. Или любой другой в этом отношении.
- Вам необходимо явно указать формат значений даты и времени, таких как DOB. Значения DOB в Varchar в формате dd-mm-yyyy (если это то, что вы решили включить) не будут сортироваться должным образом.
SQL, для достижения этой цели, однако не рекомендовал, является
Select FirstName, LastName, Age, DOB
from (
select Sorter = 1,
Convert(Varchar(max), FirstName) as FirstName,
Convert(Varchar(max), LastName) as LastName,
Convert(Varchar(max), Age) as Age,
Convert(Varchar(max), DOB, 126) as DOB
from People
union all
select 0, 'FirstName', 'LastName', 'Age', 'DOB') X
order by Sorter, FirstName -- or whatever ordering you need
Если вы хотите добавить заголовок в КАЖДОЙ столбец, включая столбцы NON-VARCHAR, у вас есть много проблем с этим подходом (если вы настаиваете на уровне базы данных) – RichardTheKiwi