La principale différence
est que dans le premier cas vous appelez la fonction dans le FROM
clause alors que dans la seconde elle est dans le select
clause. Dans le premier cas, le résultat est composé de deux colonnes tandis que dans le second, il s'agit d'un chaîne
agrégation de toutes les colonnes.
Vous pouvez le réparer en utilisant la fonction dans le FROM
clause à nouveau, en utilisant soit une double parenthèse ou une jointure latérale :
SELECT radius
FROM ST_MinimumBoundingRadius((SELECT ST_Collect(geom)
FROM a)) minrad;
ou
SELECT radius
FROM (SELECT ST_Collect(geom) geom FROM a) tbla,
LATERAL ST_MinimumBoundingRadius(tbla.geom) minrad;