() Для того, чтобы получить записи в одну колонку, вы можете использовать the UNION ALL operator.
Если вы хотите, чтобы они остались в том порядке, в котором они находятся в таблице, вы можете заказать по столбцу ID или первичного ключа. Я предполагаю, что у вас есть один, потому что вам нужно знать, что такое первоначальный заказ, чтобы сохранить его.
Так, что-то вроде этого:
SELECT fullname
FROM (
SELECT 1 AS name_type,
name_id,
firstname AS fullname
FROM yourtable
UNION ALL
SELECT
2,
name_id,
lastname
FROM yourtable
) sub
ORDER BY sub.name_id, sub.name_type;
name_type указывает 1 для имени и 2 для последнего имени, которое используется для упорядочения и сохранить первое имя в верхней части фамилии. Подзапрос используется, потому что вы хотите отображать только имя, но заказывать другие столбцы.
Я бы предложил использовать UNION ALL вместо UNION, потому что могут быть дубликаты, которые вы хотите сохранить, и поэтому производительность может быть лучше.
Извините, что набрал этот вопрос на мобильном телефоне, и возникла проблема с форматированием. Результат, который я желаю, отредактирован в вопросе. Имя и фамилия в виде новых строк. – NaveenBharadwaj
А, я вижу. Я уточню свой ответ. – bbrumm
Спасибо. Но запрос возвращает результаты в неправильном порядке. Приказ: «Naveen, Usain, Bharadwaj, Bolt» Ожидаемое действие: «Naveen, Bharadwaj, Usain, Bolt» – NaveenBharadwaj