我想知道是否可以在包含多个字段的表上进行选择并将它们连接到1个结果中:
示例:
表:
id
dayOne_City
dayTwo_City
dayThree_City
结果:一列包含所有城市的行(Distinct)。
2)如果我对该特定列表有很多查询,我最好做一个视图吗?
3)我应该选择3联盟吗?
谢谢
答案 0 :(得分:5)
你应该没事:
select dayOne_City from YourTable
UNION
select dayTwo_City from YourTable
UNION
select dayThree_City from YourTable
但是,您应该检查一下您的设计,以便根据您的桌面商店允许多个城市。也就是说,通过在YourTable
和Cities
之间创建一个中间表来创建实际的多对多关系。
答案 1 :(得分:0)
select concat_ws(',', id, dayOne_city, dayTwo_city, dayThree_city, etc...) as allInOne
使用函数here的详细信息。但是,我应该问你为什么要这样做。通过将字段连接在一起,您将破坏以后再次可靠地提取/分离数据的机会。如果您从未打算根据此查询的结果在其他地方使用单独的数据部分,那么只能进行这种“膨胀”。