Når jeg prøver en simpel forespørgsel
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 fejl
Query preparation error on PRAGMA table_info(_tview): ambiguous column name: geometry
Når jeg prøver det uden st_length
det fungerer at oprette en simpel gruppe med optællinger.
Også bare følgende fungerer fint
Select sum(st_length(geometry)), count(*) From W_Mains_DSC_ExclAbandoned
Eksempler på undersættet af forespørgslen, der fungerer uafhængigt, men ikke når de strækkes sammen
Bare den samlede længde
Bare gruppen
Når jeg blot tilføjer st_length
Jeg har prøvet med .geometry i ST_Intersects
og dette giver korrekte optællinger, men giver pragma-geomet prøv fejl, når summen tilføjes
Kommentarer
Svar
Efter min mening har du ikke brug for noget SRID fordi du ikke arbejder med ST_Length_Spheroid()
.
Hvad @she_weeds peger på er faktisk korrekt.
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
- Tak – så det var nødvendigt at vide, at det ' er geometrien på et af de inputdatasæt, vi har brug for længden til.
geometry
. Du skal angive, hvilken geometrisk kolonne du vil udføreST_length()
på. Ligesom du angav tabellen tilNetwork
kolonnen