Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

189
Vistas
Reference same table from outer query in subquery sqlalchemy + geoalchemy2 ORM

I am trying to convert a query to an equal orm statement in sqlalchemy and geoalchemy2. I am struggeling how to get the reference for p1.geom into the subquery in the not exists clause.

SELECT p1.geom FROM polygons as p1 
WHERE p1.column1 = 'something' AND NOT EXISTS(
   SELECT 1 FROM polygons  AS p2
   WHERE p2.column2 = 'something else' AND ST_Intersects(p1.geom, p2.geom)
)

I already tried around a bit but the closest i got was something like this:

p1 = self._session.query(polygons.geom).filter_by(column1='something').subquery()
p2 = ~self._session.query(polygons.geom).filter(polygons.column2 == 'something else')\
.filter(polygons.geom.intersects(p1.c.geom)).exists()
result = self._session.query(polygons.geom)\
        .filter_by(column1='something')\
        .filter(p2)

What i got from it:

SELECT polygons.geom FROM polygons 
WHERE polygons.column1 = 'something' AND NOT (EXISTS (
   SELECT 1 FROM (
      SELECT polygons.geom AS geom FROM polygons 
      WHERE polygons.column1 = 'something') AS anon_1 
   WHERE polygons.column2 = 'something else' AND (polygons.geom && anon_1.geom)))

Any ideas that could help?

over 4 years ago · Santiago Trujillo
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda