我从一个数据库中的许多表(6)中收集了许多字段。一列导致某些数据重复。如果我的一个或多个参数为真并按其余字段分组,我想为该字段创建一个布尔值。
几何表和地址表之间存在一对多的关系(每条道路的两侧)。所以,问题是道路的每一侧都会有一个值,因此会有多个返回。我玩过 bool_or、case、coalesce、exists、array_agg,但无法弄清楚。有任何想法吗?
select g.country, g.id, n.name, gsc.geometry, gst.class, gst.length, gst.road_type, gst.one_way, gst.bridge, ga.add_type
from geo g
left outer join name n on (g.id = n.id)
left outer join geometry_address ga on (g.id = ga.id)
join geometry_s gst on (g.is = gst.is)
join geometry_s gs on (g.id = gs.id)
join geometry_sc gsc on (gs.gsi = gsc.gsi)
where (g.type = 'road') and (g.country = 'USA')
谢谢你的帮助。