在SQL中仅将少数行转换为列

在SQL中仅将少数行转换为列,sql,sql-server,tsql,pivot,transpose,Sql,Sql Server,Tsql,Pivot,Transpose,我只想在一个有6列的表中将2列转换为行,如下所示。可能吗?我试过PIVOT,但它没有按预期工作 这是我的桌子: ------------------------------------------------- | ID | Contact | DESC_ID | DESCRIPT | VALUE | ------------------------------------------------- | 22 | 55555 | 1 | Name | Vija

我只想在一个有6列的表中将2列转换为行,如下所示。可能吗?我试过PIVOT,但它没有按预期工作

这是我的桌子:

-------------------------------------------------
| ID |  Contact | DESC_ID | DESCRIPT |  VALUE   |
-------------------------------------------------
| 22 |  55555   |   1     | Name     |  Vijay   |   
| 22 |  55555   |   2     | Country  |  India   |   
| 22 |  55555   |   3     | State    |  Maha    |   
| 22 |  55555   |   4     | Location |  Mumbai  |   
| 22 |  55555   |   5     | Color    |  Brown   |   
-------------------------------------------------
我正在尝试创建以下结果:

--------------------------------------------------------------------                    
| ID |  Contact |   Name  | Country |   State  |  Location | Color |
--------------------------------------------------------------------
| 22 |  55555   |   Vijay | India   |    Maha  |   Mumbai  | Brown |
--------------------------------------------------------------------
我怎么能对此提出质疑。可能吗

create Table Table1 (ID int, Contact int, DESC_ID int, DESCRIPT varchar(100),  VALUE varchar(100));

insert into Table1(ID,Contact ,DESC_ID,DESCRIPT,VALUE)
values( 22 ,  55555   ,   1     , 'Name'     ,  'Vijay' )     
, (22 ,  55555   ,   2     , 'Country'  ,  'India'      )
,( 22 ,  55555   ,   3     , 'State'    ,  'Maha'       )
, (22 ,  55555   ,   4     , 'Location' ,  'Mumbai'     )
,( 22 ,  55555   ,   5     , 'Color'    ,  'Brown')

请发布您当前的尝试。选择ID、联系人、国家/地区、州、位置、选择值中的颜色、表d中的描述pivot maxVALUE作为ID、联系人、国家/地区、位置中的描述,颜色pivMysql或sql server-mysql中没有pivot。@Akhil.J请使用“编辑”按钮将代码添加到question.ID中,联系人不应位于pivot中。但就像其他人所说的,你的问题,并把你的尝试放在那里。
select * from 
( 
select ID,Contact,VALUE,DESCRIPT from table1 
) d 
pivot (
max(VALUE) for DESCRIPT in (Name,Country,State,Location,Color) 
) piv