[英]Convert only few Rows to Columns in SQL
我想在 SQL 中僅將 2 列轉換為具有 6 列的表中的行,如下所示。 可能嗎? 我試過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')
select * from
(
select ID,Contact,VALUE,DESCRIPT from table1
) d
pivot (
max(VALUE) for DESCRIPT in (Name,Country,State,Location,Color)
) piv
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.