Żadna z powyższych odpowiedzi nie zadziała, chyba że wszystkie twoje nazwiska pojawią się po "pierwszym" sortowaniu.
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
Jeśli chcesz zrobić to do wszystkich kolumn niż varchar, jak również, minusy są (przynajmniej):
- wszystkie dane staną się VARCHAR. Jeśli korzystasz na przykład z programu Visual Studio, NIE MOŻNA rozpoznać wartości daty ani ich użyć. Lub wartości int. Lub jakikolwiek inny o to chodzi.
- Należy jawnie podać format wartości datetime, takich jak DOB. Wartości DOB w Varchar w formacie dd-mm-rrrr (jeśli to, do czego zdecydujesz się je przekształcić) nie będą poprawnie sortowane.
SQL, aby osiągnąć ten cel, jednak nie zalecany, to
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
Jeśli chcesz dodać nagłówek do KAŻDEJ kolumny, w tym kolumny NIEPOPRAWNE, masz wiele problemów z tym podejściem (jeśli nalegasz na warstwę bazy danych) – RichardTheKiwi