[英]Presto SQL left joining using ST_intersects, ST_crosses yield unexpected results
[英]Full Outer Join on ST_Intersects gives error but worked sometimes
我收到间歇性错误: FULL OUTER JOIN cannot be used without a condition that is an equality of fields from both sides of the join.
BigQuery 昨天运行了几个小时,但现在又给我这个错误。
我使用个人历史确认昨天成功的查询今天给出了这个错误。 无论哪种方式,这都是给出错误的查询,我无法想出另一个给出相同结果的查询。 我看过以下帖子,但我的几何图形没有我知道的唯一 ID。
SELECT * FROM
`segments` AS s
FULL OUTER JOIN `zones` AS z
ON ST_Intersects(s.linestring, z.geog)
我在FULL OUTER JOIN
和spatial condition的查询中发现了类似的问题(是的,确实也可以成功完成查询),但现在我仍然没有完全理解原因。
作为“快速”修复,请尝试使用 FULL OUTER JOIN 与 UNION ALL 连接:
SELECT * FROM segments s
LEFT OUTER JOIN zones z
ON ST_Intersects(s.linestring, z.geog)
UNION ALL
SELECT * FROM segments s
LEFT OUTER JOIN zones z
ON ST_Intersects(s.linestring, z.geog)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.