Returning Columns from a table vertically

  I have a table which I want to return its data with a query in a vertical way in a single column, for example I have this table

  | Field_1 |  Field 2 | Field 3  |
  | Value1 | Value2  | Value3 |

 And I need to get
  Field_1 = Value1
  Field_2 = Value2
  Field_3 = Value3

Thxs in advance
Who is Participating?
Mark WillsConnect With a Mentor Topic AdvisorCommented:
hi, similar to @dportas solution above, but, if I read that properly....

you need to do a union from selecting all the different columns one at a time... have taken the value content as being numeric, not exceeding 20 characters - you might need to adjust accordingly...

select new_column
from (
select 'Field_1 = '+convert(varchar(20),isnull(value1,0)) as new_column from mytable
union all
select 'Field_2 = '+convert(varchar(20),isnull(value2,0)) from mytable
union all
select 'Field_3 = '+convert(varchar(20),isnull(value3,0)) from mytable
) c
order by new_column
How will you make sense of the result if there is more than one row? Is the order significant?

SELECT col, val
 (SELECT 'col1', col1
  FROM tbl
  SELECT 'col2', col2
  FROM tbl
  SELECT 'col3', col3
  FROM tbl) T(col,val)
/* ORDER BY ??? something unspecified ? */ ;

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.