我在一个列中有4种类型的值,并希望使用SQL将这些值拆分为4个不同的列。
这是我的表:
Name Car
---------------
John Tesla
John Renault
John Mercedes
John VW
我希望得到这样的结果:
Name Car1 Car2 Car3 Car4
-----------------------------------------
John Tesla Renault Mercedes VW
有人可以帮忙吗?
由于
答案 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的基础知识!希望这可以帮助我处理其他人。