SQL中的临时表(行到列)

时间:2016-07-01 13:09:04

标签: sql sql-server sql-server-2008

我在SQL中有这样的表:

Name                Price   
Ferrari White       1000            
350z Purple         540           
Lambo Black         2500   

我想知道是否有办法创建像这样的临时表

Ferrari White     350z Purple       Lambo Black 
1000              540               2500

使用查询。

提前致谢!

修改

我正在使用此代码:

select Firstname, Amount, PostalCode, LastName, AccountNumber
from
(
  select value, columnname
  from yourtable
) d
pivot
(
  max(value)
  for columnname in (Firstname, Amount, PostalCode, LastName, AccountNumber)
) piv;

但我遇到的问题是行的名称有像'法拉利白'这样的空格所以在查询中我得到错误,因为它不是一个单词的名字。

EDIT2 :(已解决)

我使用了这种方法:

select
  max(case when columnname = 'FirstName' then value end) Firstname,
  max(case when columnname = 'Amount' then value end) Amount,
  max(case when columnname = 'PostalCode' then value end) PostalCode,
  max(case when columnname = 'LastName' then value end) LastName,
  max(case when columnname = 'AccountNumber' then value end) AccountNumber
from yourtable

0 个答案:

没有答案