gpt4 book ai didi

postgresql - 在 FROM 中使用 JOIN 语句的别名

转载 作者:行者123 更新时间:2023-11-29 11:17:19 25 4
gpt4 key购买 nike

我正在尝试构建一个在 FROM 语句中使用 JOIN 语句别名的 PostGIS 查询,但这是不可能的。还有其他方法吗?

SELECT DISTINCT 
ST_Buffer(
ST_Centroid(geom),
ST_Area(geom))
FROM building AS b, ST_Transform(sg.geometry, 31467) AS geom
LEFT JOIN surface_geometry AS sg ON b.id = sg.cityobject_id WHERE ST_Area(geom) < 100

最佳答案

您可以引入额外的子查询级别。

所以目前你有:

SELECT DISTINCT ST_Buffer( ST_Centroid(geom), ST_Area(geom) )
FROM building AS b,
ST_Transform(sg.geometry, 31467) AS geom
LEFT JOIN surface_geometry AS sg ON b.id = sg.cityobject_id
WHERE ST_Area(geom) < 100

(我更改了缩进以使其更有意义,尽管我仍然不明白:您似乎没有在任何地方使用 b 的值)。你需要这样的东西:

SELECT DISTINCT ST_Buffer( ST_Centroid(geom), ST_Area(geom) )
FROM (
SELECT ST_Transform(sg.geometry, 31467) AS geom
FROM building AS b
LEFT JOIN surface_geometry AS sg ON b.id = sg.cityobject_id
) x
WHERE ST_Area(geom) < 100

关于postgresql - 在 FROM 中使用 JOIN 语句的别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9007797/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com