我有一个视图,它产生这样的数据:

Event       Date        US_City     CA_City     ME_City     Br_City
Baseball    6/3/2016    LA
Darts       5-Jun                   Ont
Cricket     5-Jun                               Mexico City
Football    6-Jun                                           Rio De Janero


我最终想要得到的是这样的内容,其中城市位于一列中,而不是分布在多列中:

Event       Date        City
Baseball    6/3/2016    LA
Darts       5-Jun       Ont
Cricket     5-Jun       Mexico City
Football    6-Jun       Rio De Janero


我找不到在SQL(更具体地说是MySQL)中执行此操作的方法。我在这里可以使用聚合函数或类似函数吗?

最佳答案

采用:

Select Event, Date, coalesce(US_City,CA_City,ME_City,Br_City) city
from yourtable


Coalesce函数返回城市列表中的第一个非NULL值,并将其分配给City

关于mysql - 将列合并为一列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37169891/

10-10 07:25