0
私は以下のようにPostgresのを使用して地域でのポイントを交差するcase文を記述しようとしていますして返します。ST_Intersectは、二重結果
SELECT Point.id, Point.geom, Box.Postcode,
CASE
WHEN ST_Intersects(Box.geom, Point.geom) AND Box.postcode = 'A' THEN 'A'
WHEN ST_Intersects(Box.geom, Point.geom) AND Box.postcode = 'B' THEN 'B'
WHEN ST_Intersects(Box.geom, Point.geom) AND Box.postcode = 'C' THEN 'C'
ELSE 'No postcode'
END AS PointPostcode
アイデアはボックスの内側に配置されているすべてのポイントは、新しい属性列を持っているということです'PointPostCode'という名前で、ポストコード情報を持っています: 'A'、 'B'、 'C'は場所によって異なります。また、ボックスの外側にあるポイントには「郵便番号なし」の情報があります。
私はこれらのクエリを正常に実行しています。私はまた、私が望むものとして新しい列を取得しました。ボックス内にあるポイントには、郵便番号情報も正しく表示されますが、同時に、すべてのポイントに「郵便番号なし」というラベルが付けられています(値を再二倍します)。
私の質問の間違いはどこですか?
今私は、多くのおかげで、正しいクエリを作成する方法を理解... – reyalino
答えが正しいかどう正しいとしてそれをマークしてください – e4c5