Если вам «нужно отобразить» данные в такой форме, я сначала извлеку данные - предположительно одну строку из нескольких столбцов из одной таблицы - из баз данных, а затем использовал инструмент / язык, используемый для извлекать данные (C #, Java и т. д.) для форматирования данных так, как они должны отображаться, или на что бы то ни было для их отображения. SQL предназначен для хранения и извлечения данных, а не для форматирования их для отображения на экране.
С учетом сказанного, если бы мне пришлось возвращать (скажем) значения из 5 отдельных столбцов из одной строки одной таблицы, я бы взломал это примерно так:
SELECT Col1 as Data, 1 as MyOrder from MyTable where MyTableId = @DesiredRow
UNION ALL SELECT Col2, 2 from MyTable where MyTableId = @DesiredRow
UNION ALL SELECT Col3, 3from MyTable where MyTableId = @DesiredRow
UNION ALL SELECT Col4, 4 from MyTable where MyTableId = @DesiredRow
UNION ALL SELECT Col5, 5 from MyTable where MyTableId = @DesiredRow
order by MyOrder
(нужно посмотреть, правильно ли отформатирован ...)
Вы только должны псевдоним столбца в первом выборе. Хм, будут и другие соображения, такие как (1) тип данных возвращаемого столбца будет типом данных первого выбора, поэтому вам может потребоваться много приведений, таких как
...select cast(Col1 as varchar(100)) As Data...
(2) Это, вероятно, упорядочит строки, возвращенные в том порядке, в котором они были выбраны, я бросил в этом порядке, просто чтобы быть уверенным. И (3) Ваш пробег может варьироваться в зависимости от соображений применения, о которых я не знаю сейчас.
Удачи!