Når jeg prøver et enkelt spørsmål
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"
Jeg får denne feilen
Query preparation error on PRAGMA table_info(_tview): ambiguous column name: geometry
Når jeg prøver det uten st_length
det fungerer for å lage en enkel gruppe med tellinger.
Også bare følgende fungerer greit
Select sum(st_length(geometry)), count(*) From W_Mains_DSC_ExclAbandoned
Eksempler på delsett av spørringen som fungerer uavhengig, men ikke når de er sammenkoblet
Bare den totale lengden
Bare gruppen
Når jeg bare legger til st_length
Jeg har prøvd med .geometry i ST_Intersects
og dette gir riktige tellinger, men gir pragma-geomet prøv feil når summen er lagt til
Kommentarer
Svar
Etter min mening trenger du ikke noe SRID fordi du ikke jobber med ST_Length_Spheroid()
.
Det @she_weeds peker på er faktisk riktig.
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"
Kommentarer
- Takk – så det trengte å vite at det ' er geometrien til et av inngangssettene vi trenger lengden for.
geometry
. Du må spesifisere hvilken geometrisk kolonne du vil utføreST_length()
på. Akkurat som du spesifiserte tabellen forNetwork
-kolonnen