Вы можете ввести дополнительный уровень подзапроса.
Так что в настоящее время у вас есть:
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