1

I have a result set like below :

MinID       MaxID   ColumnName
----------  ------- -------------------
167         34458   AccountManager
174         174     ClientDeliveryDate
184         184     LocalContactEmail
192         34459   ProjectDeveloper
194         194     ServiceType

I want a result set like :

AccountManager ClientDeliveryDate LocalContactEmail ProjectDeveloper ServiceType
-------------- ------------------ ----------------- ---------------- -----------
167            174                184               192              194
34458          174                184               34459            194
Brijesh Kushwaha
  • 273
  • 1
  • 3
  • 11

2 Answers2

7
select [AccountManager], [ClientDeliveryDate], [LocalContactEmail],[ProjectDeveloper] ,[ServiceType]
from
(
    SELECT ColumnName, TestType, score
    FROM 
    (
        SELECT ColumnName, MinID, MaxID  from table_name
    ) PivotData
    UNPIVOT
    (
        score for TestType IN (MinID, MaxID)
    ) as initialUnPivot
) as PivotSource
PIVOT 
(
MIN(score) FOR ColumnName IN ([AccountManager], [ClientDeliveryDate], [LocalContactEmail],[ProjectDeveloper] ,[ServiceType])
) AS PivotTable
order by [AccountManager] desc

SQL FIDDLE

Prahalad Gaggar
  • 11,389
  • 16
  • 53
  • 71
-1

Try this query.

SELECT 
max(case when `ColumnName` = 'AccouontManager'  then `MaxID` end) as AccouontManager, 
max(case when `ColumnName` = 'ClientDeliveryDate'  then `MaxID` end) as ClientDeliveryDate,
max(case when `ColumnName` = 'LocalContactEmail'  then `MaxID` end) as LocalContactEmail,
max(case when `ColumnName` = 'ProjectDeveloper'  then `MaxID` end) as ProjectDeveloper,
max(case when `ColumnName` = 'ServiceType'  then `MaxID` end) as ServiceType
FROM `your_table` 
union all 
SELECT 
max(case when `ColumnName` = 'AccouontManager'  then `MinID` end) as AccouontManager, 
max(case when `ColumnName` = 'ClientDeliveryDate'  then `MinID` end) as ClientDeliveryDate,
max(case when `ColumnName` = 'LocalContactEmail'  then `MinID` end) as LocalContactEmail,
max(case when `ColumnName` = 'ProjectDeveloper'  then `MinID` end) as ProjectDeveloper,
max(case when `ColumnName` = 'ServiceType'  then `MinID` end) as ServiceType
FROM `your_table` 
Dhinakar
  • 4,061
  • 6
  • 36
  • 68