0
我想寫case語句中使用如下Postgres的區域相交點:ST_Intersect返回一個double結果
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'取決於它們的位置。對於位於箱子外的點將具有「無郵政編碼」信息。
我成功運行這些查詢,我也得到了新的列作爲我想要的。位於Box內部的點也具有正確的郵政編碼信息,但同時它也被賦予了所有點的「無郵政編碼」標籤(重新加倍值)。
有人能幫我弄清楚我的查詢的錯誤在哪裏嗎?
現在我明白瞭如何編寫正確的查詢,非常感謝...... – reyalino
如果答案是正確的,請把它標記爲正確的 – e4c5