我有一个包含几何,名称和颜色的线条表。这些线条的类型很少。第一个具有不同的几何形状,相同的名称和颜色。这些类型应合并为一个段。
geometry| name | color
A1 |Szlak 1 |blue
A2 |Szlak 1 |blue
结果:
geometry| name | color
A1+A2 |Szlak 1 |blue
以上案例已经用以下代码解决:
WITH singleRow as (
select count(way), way
from planet_osm_line
group by way
having count(way) > 1
)
SELECT P.*
FROM planet_osm_line P
JOIN singleRow S
ON P.way = S.way
第二种类型是2条线具有相同的几何形状但名称或颜色不同。
geometry| name | color
A1 |Szlak 1 |blue
A1 |Szlak 2 |green
在这种情况下,我需要这样的结果(一行中的所有标签):
geometry| name | color | name1 |color1
A1 |Szlak 1 |blue |Szlak 2 |green
如果2条线具有相同的几何形状但具有不同的名称和颜色,我需要将它们放在一行中,即name1,name2等。
谢谢。