Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 从同一个表联接多个字段_Mysql_Sql_Select - Fatal编程技术网

Mysql 从同一个表联接多个字段

Mysql 从同一个表联接多个字段,mysql,sql,select,Mysql,Sql,Select,我想知道是否有可能对包含多个字段的表进行选择,并将它们合并到一个结果中: 例如: 表: id dayOne_City dayTwo_City dayThree_City 结果:一列包含所有城市的行(不同) 2) 如果我对该特定列表有很多查询,那么我最好进行查看吗 3) 我应该用union做3选择吗 多谢各位 select concat_ws(',', id, dayOne_city, dayTwo_city, dayThree_city, etc...) as allInOne 有关所用函数

我想知道是否有可能对包含多个字段的表进行选择,并将它们合并到一个结果中:

例如:

表:

id
dayOne_City
dayTwo_City
dayThree_City
结果:一列包含所有城市的行(不同)

2) 如果我对该特定列表有很多查询,那么我最好进行查看吗

3) 我应该用union做3选择吗

多谢各位

select concat_ws(',', id, dayOne_city, dayTwo_city, dayThree_city, etc...) as allInOne
有关所用函数的详细信息。然而,我应该问你为什么要这样做。通过将这些字段连接在一起,您就失去了以后再次可靠地提取/分离数据的机会。只有当您从未计划根据此查询的结果在其他地方使用数据的单独部分时,才需要进行这种“扩展”


有关所用函数的详细信息。然而,我应该问你为什么要这样做。通过将这些字段连接在一起,您就失去了以后再次可靠地提取/分离数据的机会。只有在您从未计划根据此查询的结果在其他地方使用数据的单独部分时,才可以进行这种“扩展”。

您应该可以:

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

但是,您应该检查您的设计,以允许每个表存储多个城市。也就是说,通过在
YourTable
Cities
之间创建一个中间表来创建一个实际的多对多关系,您应该可以:

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

但是,您应该检查您的设计,以允许每个表存储多个城市。也就是说,通过在
YourTable
Cities

之间创建一个中间表来创建一个实际的多对多关系。对不起,我认为我没有正确解释,我不需要做一个concat,我想从所有的FieldsOrry中提取所有城市,我认为我没有正确解释,我不需要做concat我想从所有的领域中提取所有的城市我应该从中创建一个视图还是按原样使用它?如果城市与某个区域关联,有没有办法生成两列结果?(地区-城市)关于视图创建:如果您在多个地方查看此信息,那么,是的,您可能应该创建一个视图。是的,您可以将其与区域相关联:
内部连接
每个选择与
城市
(可能还有
区域
)并获得所需的区域列。区域与城市位于同一表中,同一行。我应该从中创建视图还是按原样使用它?如果城市与某个区域关联,有没有办法生成两列结果?(地区-城市)关于视图创建:如果您在多个地方查看此信息,那么,是的,您可能应该创建一个视图。是的,您可以将其与区域相关联:
内部连接
每个选择与
城市
(可能还有
区域
)并获得所需的区域列。区域位于同一个表中,与城市相同的一行您应该做的是重构数据库以拥有一个相关的表。您是对的,我们在设计表时出错了。。。现在付出代价:)你应该做的是重构你的数据库以获得一个相关的表。你是对的,我们在设计表时犯了一个错误。。。现在付出代价:)