2016-11-02 2 views
-1

В настоящее время у меня есть запрос, который возвращает одну строку данных. Я хотел бы повернуть последние 4 или 5 в один столбец с соответствующими значениями рядом с ними.SQL Pivot/unpivot Имена столбцов и соответствующие значения

See sample image

+1

Что RDBMS это? – xQbert

+0

Ritesh, я получаю имя столбца не было указано для ошибки столбца. Я использую MS SQL 2012 – Luhem

ответ

0

USE UNION

 SELECT peojectID,level_type,'LABOR' as Cost_Type,LABOR as Cost From Table UNION 
     SELECT peojectID,level_type,'TRAVEL' as Cost_Type,TRAVEL as Cost From Table UNION 
     SELECT peojectID,level_type,'MATERIAL' as Cost_Type,MATERIAL as Cost From Table UNION 
     SELECT peojectID,level_type,'ODCs' as Cost_Type,ODCs as Cost From Table UNION 
     SELECT peojectID,level_type,'FEE' as Cost_Type,FEE as Cost From Table 
     OEDER BY peojectID,level_type 
0

Если Вы используете MSSQL ТОГДА попробовать это один

SELECT peojectID,level_type, Cost_type,Cost 
    FROM 
     (SELECT peojectID,level_type, LABOR, TRAVEL, MATERIAL, ODCs, FEE 
     FROM Table) p 
    UNPIVOT 
     (Cost FOR Cost_type IN 
      (LABOR, TRAVEL, MATERIAL, ODCs, FEE) 
    )AS unpvt; 
Смежные вопросы