간단한 쿼리를 시도 할 때
SELECT "Water_Service_Area_Boundaries_Non_Cadastral"."Network", count(*), sum(st_length(geometry)) FROM "W_Mains_DSC_ExclAbandoned", "Water_Service_Area_Boundaries_Non_Cadastral" WHERE ST_Intersects("Water_Service_Area_Boundaries_Non_Cadastral", "W_Mains_DSC_ExclAbandoned") GROUP BY "Water_Service_Area_Boundaries_Non_Cadastral"."Network"
이 오류가 발생합니다.
Query preparation error on PRAGMA table_info(_tview): ambiguous column name: geometry
카운트가있는 간단한 그룹을 생성합니다.
또한 다음도 잘 작동합니다.
Select sum(st_length(geometry)), count(*) From W_Mains_DSC_ExclAbandoned
독립적으로 작동하지만 함께 연결될 때는 작동하지 않는 쿼리 하위 집합의 예
전체 길이
그룹 만
st_length를 추가하는 경우
ST_Intersects
에서 .geometry를 사용해 보았습니다. div> 그리고 이것은 정확한 카운트를 제공하지만 pragma geome을 제공합니다. 합계를 추가 할 때 오류 시도
의견
답변
제 생각에는 ST_Length_Spheroid()
로 작업하지 않기 때문에 SRID 가 필요하지 않습니다.
@she_weeds가 가리키는 것은 참으로 맞습니다.
SELECT ws."Network", count(ws."Network"), sum(st_length(ws.geometry)) FROM "Water_Service_Area_Boundaries_Non_Cadastral" AS ws, "W_Mains_DSC_ExclAbandoned" AS wmain WHERE ST_Intersects(ws.geometry, wmain.geometry) GROUP BY ws."Network"
댓글
- 감사합니다. ' 길이가 필요한 입력 데이터 세트 중 하나의 지오메트리임을 알아야했습니다.
geometry
열이있는 두 테이블을 참조합니다.ST_length()
를 수행 할 도형 열을 지정해야합니다.Network
열에 대한 표를 지정한 것처럼