2013-06-10 1 views
0

мне нужно, чтобы превратить эту таблицу:Имена SQL столбцов и значения

RecID Date  Time  FirstName LastName 
6  5/28/2013 9:50:07 AM Jenny  Welhberg 

В это:

Column  Value 
RecID  6 
Date  5/28/2013 
Time  9:50:07 AM 
FirstName Jenny 
LastName Welhberg 

У меня есть:

SELECT COLUMN_NAME 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE TABLE_NAME = 'tablename' 

select * from tablename where recid=6 

Также обратите внимание, что я работаю на SQL Server 2000 для этого отчета.

ответ

0

У вас есть проблема, возможно. Кажется, что столбцы имеют разные типы.

Позвольте мне игнорировать это. Позвольте мне предположить, что все они имеют один и тот же тип. В «2000» у вас нет невесомости. Я думаю, что самый быстрый способ сделать крест присоединиться:

select cols.colname, 
     (case when cols.colname = 'RecId' then RecId 
      when cols.colname = 'Date' then Date 
      when cols.colname = 'Time' then Time 
      when cols.colname = 'FirstName' then FirstName 
      when cols.colname = 'LastName' then LastName 
     end) as Value 
from t cross join 
    (select 'RecID' as colname union all 
     select 'Date' union all 
     select 'Time' union all 
     select 'FirstName' union all 
     select 'LastName' 
    ) cols 

Если исходные типы не являются строками, то вам, возможно, придется конвертировать их.

+0

Это, казалось, сработало, спасибо! Примечание - Измените «когда cols» на «when colname» – McG369

 Смежные вопросы

  • Нет связанных вопросов^_^