繁体   English   中英

ST_Intersects 上的 Full Outer Join 会出错,但有时会起作用

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM