将值拆分为列SQL

时间:2017-09-27 15:21:07

标签: sql

我在一个列中有4种类型的值,并希望使用SQL将这些值拆分为4个不同的列。

这是我的表:

Name   Car
---------------
John   Tesla
John   Renault 
John   Mercedes
John   VW

我希望得到这样的结果:

Name  Car1    Car2     Car3      Car4
-----------------------------------------
John  Tesla Renault   Mercedes    VW

有人可以帮忙吗?

由于

2 个答案:

答案 0 :(得分:0)

你可以使用PIVOT。

您的示例几乎与Microsoft帮助页面完全匹配,如果您需要更多帮助,请发表评论 - https://technet.microsoft.com/en-us/library/ms177410(v=sql.105).aspx

答案 1 :(得分:0)

是的,我明白了。我没有意识到在SQL中执行SELECT函数时,实际上是在创建一个新列。我以为你把列合并在一起。

所以我的代码很简单:

   SELECT   
    (CASE WHEN car = "Tesla" THEN name ELSE Null END) as Car_type_1
    (CASE WHEN car = "Renault" THEN name ELSE Null END) as Car_type_2
    (CASE WHEN car = "Mercedes" THEN name ELSE Null END) as Car_type_3 
    (CASE WHEN car = "VW" THEN name ELSE Null END) as Car_type_4  

应该学习SQL的基础知识!希望这可以帮助我处理其他人。