gpt4 book ai didi

sql - 为什么我们使用 `As foo (geom)` 而不是 `As geom`

转载 作者:行者123 更新时间:2023-11-29 12:46:57 24 4
gpt4 key购买 nike

在下面的查询中,为什么我们使用As foo (geom) 而不是As geomfoo() 做什么?

SQL 查询

SELECT ST_SRID(geom) AS srid, ST_SRID(ST_SetSRID(geom, 4326)) as srid_new
FROM (
VALUES (
ST_GeomFromText('POLYGON((70 20, 71 21, 71 19, 70 20))', 4269)),
(ST_Point(1,2)
)
) As foo (geom);

使用 As geom 给出错误:

ERROR:  function st_srid(record) does not exist
LINE 1: SELECT ST_SRID(geom) AS srid, ST_SRID(ST_SetSRID(geom, 4326)...

最佳答案

As foo 是子查询的别名,附加的(geom) 是其中的列名。 SQL 要求每个子查询都有一个别名。在 manual in the chapter Subqueries 中查找示例.

这里使用的 VALUES 表达式也是如此。我引用 the manual here :

Syntactically, VALUES followed by expression lists is treated as equivalent to:

 SELECT select_list FROM table_expression

关于sql - 为什么我们使用 `As foo (geom)` 而不是 `As geom`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15723248/

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