Când încerc o interogare simplă
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"
Am primit această eroare
Query preparation error on PRAGMA table_info(_tview): ambiguous column name: geometry
Când o încerc fără st_length
funcționează pentru a crea un grup simplu cu numărări.
De asemenea, doar următoarele funcționează bine
Select sum(st_length(geometry)), count(*) From W_Mains_DSC_ExclAbandoned
Exemple de subset de interogare care funcționează independent, dar nu atunci când sunt strânse împreună
Doar lungimea totală
Doar grupul
Când adaug pur și simplu st_length
Am încercat cu .geometrie în ST_Intersects
și aceasta oferă numărătoare corecte, dar dă geomului pragmatic încercați eroarea când suma este adăugată
Comentarii
Răspuns
În opinia mea, nu aveți nevoie de SRID deoarece nu lucrați cu ST_Length_Spheroid()
.
Ce indică @she_weeds într-adevăr corect.
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"
Comentarii
- Mulțumesc – deci trebuia să știm că ' este geometria unuia dintre seturile de date de intrare pentru care avem nevoie de lungime.
geometry
. Trebuie să specificați pe ce coloană de geometrie doriți să efectuațiST_length()
. La fel cum ați specificat tabelul pentru coloanaNetwork