从同一个表中加入多个字段

时间:2011-08-08 20:56:37

标签: mysql sql select

我想知道是否可以在包含多个字段的表上进行选择并将它们连接到1个结果中:

示例:

表:

id
dayOne_City
dayTwo_City
dayThree_City

结果:一列包含所有城市的行(Distinct)。

2)如果我对该特定列表有很多查询,我最好做一个视图吗?

3)我应该选择3联盟吗?

谢谢

2 个答案:

答案 0 :(得分:5)

你应该没事:

select dayOne_City from YourTable
UNION
select dayTwo_City from YourTable
UNION
select dayThree_City from YourTable

但是,您应该检查一下您的设计,以便根据您的桌面商店允许多个城市。也就是说,通过在YourTableCities之间创建一个中间表来创建实际的多对多关系。

答案 1 :(得分:0)

select concat_ws(',', id, dayOne_city, dayTwo_city, dayThree_city, etc...) as allInOne

使用函数here的详细信息。但是,我应该问你为什么要这样做。通过将字段连接在一起,您将破坏以后再次可靠地提取/分离数据的机会。如果您从未打算根据此查询的结果在其他地方使用单独的数据部分,那么只能进行这种“膨胀”。

相关问题