Cuando intento una consulta simple
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"
Recibo este error
Query preparation error on PRAGMA table_info(_tview): ambiguous column name: geometry
Cuando lo intento sin el st_length
funciona para crear un grupo simple con conteos.
También lo siguiente funciona bien
Select sum(st_length(geometry)), count(*) From W_Mains_DSC_ExclAbandoned
Ejemplos del subconjunto de la consulta que funcionan de forma independiente pero no cuando se unen
Solo la longitud total
Solo el grupo
Cuando simplemente agrego st_length
He probado con .geometry en ST_Intersects
y esto da recuentos correctos pero da el pragma geome prueba de error cuando se agrega la suma
Comentarios
Respuesta
En mi opinión, no necesita ningún SRID porque no está trabajando con ST_Length_Spheroid()
.
Lo que @she_weeds apunta es de hecho correcto.
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"
Comentarios
- Gracias. Necesitaba saber que ' es la geometría de uno de los conjuntos de datos de entrada para los que necesitamos la longitud.
geometry
. Debe especificar en qué columna de geometría desea realizarST_length()
. Al igual que especificó la tabla para laNetwork
columna