Lorsque jessaie une requête 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"
Jobtiens cette erreur
Query preparation error on PRAGMA table_info(_tview): ambiguous column name: geometry
Quand je lessaye sans st_length
cela fonctionne pour créer un groupe simple avec des nombres.
Aussi juste ce qui suit fonctionne très bien
Select sum(st_length(geometry)), count(*) From W_Mains_DSC_ExclAbandoned
Exemples de sous-ensemble de la requête qui fonctionnent indépendamment mais pas lorsquils sont liés ensemble
Juste la longueur totale
Juste le groupe
Quand jajoute simplement la longueur_st
Jai essayé avec .geometry dans le ST_Intersects
et cela donne des comptes corrects mais donne le pragma geome erreur dessai lorsque la somme est ajoutée
Commentaires
Réponse
À mon avis, vous navez pas besoin de SRID car vous ne travaillez pas avec ST_Length_Spheroid()
.
Ce que @she_weeds pointe est en effet correct.
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"
Commentaires
- Merci – il fallait donc savoir que ' est la géométrie de lun des jeux de données dentrée dont nous avons besoin de la longueur.
geometry
. Vous devez spécifier la colonne de géométrie sur laquelle vous souhaitez effectuerST_length()
. Tout comme vous avez spécifié le tableau de la colonneNetwork