나는 내가 "저장"유형의 건물에 가장 가까운 사용자를 계산하려면 다음 쿼리가 : 나는 최소를 계산하려고 할 때PostgreSQL을
WITH y AS (
SELECT t.userid as us, ST_Distance(t.thegeometry,b.thegeomtry) as dist
FROM track t,buildings b
WHERE b.type = 'store'
)
SELECT us
FROM y
WHERE dist = (SELECT MIN(dist) FROM y)
문제는이다 그것은 사실이 아닌 0을 제공합니다. 내 데이터에서 ID가 112 인 사용자와 상점 A 사이의 최소 거리는 2441 미터입니다.
'SELECT MIN (dist) FROM y''y'는 실제 테이블 이름이어야합니다. 그렇지 않습니까? –
@ DavidBélanger : CTE는 하위 쿼리에서도 볼 수 있습니다. 그래도 시작할 필요는 없습니다. –