postgresql PostGIS ST_asGeoJSON在特定列上,而不是在所有行列上

w8biq8rn  于 2023-03-12  发布在  PostgreSQL
关注(0)|答案(1)|浏览(101)

我有一个包含数百列的表,我想写一个SELECT来获取GeoJSON字符串,该字符串只返回特定的列值(几何和一些其他字段,但不是所有列值)。
如果我运行:

SELECT ST_AsGeoJSON(d.*)
FROM   mytable d 
WHERE  d.id = 76025);

它可以工作,但是如果我只需要像这样的一些字段:

SELECT ST_AsGeoJSON(d.wkb_geometry, d.info, d.address)
FROM   mytable d 
WHERE  d.id = 76025);

显然St_asGeoJSON不起作用,因为它有行作为参数,而不是字段列表。我如何在生成的geoJSON WITING A SINGLE STATEMENT中只得到这3列?

k3bvogb1

k3bvogb11#

使用子查询的解决方案非常简单:

SELECT ST_AsGeoJSON(p.*) 
FROM   (SELECT d.wkb_geometry, d.info, d.address
        FROM   mytable d 
        WHERE  d.id = 76025) AS p;

相关问题