Poly1 は、境界の内側にある f1 と f2 の面積を計算するバウンディング ボックスです。f1 が存在するが f2 が存在しない場合、このクエリが結果を返すようにするにはどうすればよいですか? 現在、バウンディング ボックスの内部に f1 しかない場合、クエリは結果を返しません。
SELECT ST_Transform(poly1.the_geom,3857) AS the_geom_webmercator,
ST_AREA(ST_Union(ST_Transform(ST_Intersection(f1.the_geom,poly1.the_geom),3857)))*.000247105381 AS acreage_of_1,
ST_AREA(ST_Union(ST_Transform(ST_Intersection(f2.the_geom,poly1.the_geom),3857)))*.000247105381 AS acreage_of_2
FROM poly1 JOIN farmland f1 ON f1.polygon_type = 'A' AND
st_intersects(f1.the_geom,poly1.the_geom)
JOIN farmland f2 ON f2.polygon_type = 'B'
GROUP BY poly1.the_geom