Główna różnica
jest to, że w pierwszym przypadku wywołujesz funkcję w FROM
klauzula, podczas gdy w drugiej znajduje się w select
klauzula. W pierwszym przypadku wynik składa się z dwóch kolumn, podczas gdy w drugim jest to ciąg
agregacja wszystkich kolumn.
Możesz to naprawić, używając funkcji w FROM
klauzulę ponownie, używając albo podwójny nawias lub złączenie boczne:
SELECT radius
FROM ST_MinimumBoundingRadius((SELECT ST_Collect(geom)
FROM a)) minrad;
lub
SELECT radius
FROM (SELECT ST_Collect(geom) geom FROM a) tbla,
LATERAL ST_MinimumBoundingRadius(tbla.geom) minrad;