2
我有一個表Transport
,它有2個fks指向一個表Spot
。那些fks存儲運輸的origin
和destination
。PostGIS:計算一個點與2個fks之間的最小距離:原點和目的地
我需要做一個查詢,獲取點和原點之間以及同一點和目的地之間的最小距離。
這是我做了什麼,雖然這讓我34分的結果,它應該是17.我知道我做錯了,但我不能得到正確的查詢:
SELECT LEAST(
ST_Distance(ST_GeographyFromText('SRID=4326; POINT(-3 40)'), s.point),
ST_Distance(ST_GeographyFromText('SRID=4326; POINT(-3 40)'), s.point)
) FROM spot s RIGHT OUTER JOIN transport t
ON t.origin = s.id OR t.destination = s.id;
顯然我不應該在這裏使用OR。我試圖做雙JOIN,但沒有得到正確的答案。
感謝您的幫助
感謝這麼多!我正在做錯誤的連接類型 – maraujop 2011-06-15 08:26:36