是否有可能将满足条件的所有字符串值连接到MySQL的一列中?



我有一个名为geos的表,它有两列。geoName是物理区域的字符串描述,由geoPoly列中的空间多边形勾画。每个记录要么是一个国家,要么是一个城市,可能在其中一个国家。

对于每个geoName,我想获得所有相交多边形的名称列表到单个列中。

如果geos看起来像这样:

tbody> <<tr>钦奈纽约美国印度巴黎芝加哥洛杉矶
geoName geoPoly
孟买Polygon1
Polygon2
Polygon3
Polygon4
Polygon5
Polygon6
Polygon7
Polygon7

发帖30秒后才找到答案。显然。

GROUP_CONCAT ()

SELECT geos1.geoName AS targetGeo, GROUP_CONCAT(geos2.geoName SEPARATOR ', ') AS intersectingGeo
FROM geos geos1, geos geos2
WHERE ST_INTERSECTS(geos1.geoPoly, geos2.geoPoly)
AND geos1.geoName <> geos2.geoName
GROUP BY targetGeo

完美工作。

我可以将多个MySQL行连接到一个字段吗?

最新更新