Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

222
Visualizações
Unirse desde múltiples tablas usando SQLAlchemy

Creo que estoy bastante cerca de aquí, pero tal vez necesito algunos consejos. Estoy tratando de ejecutar la consulta SQL a continuación en SQL Alchemy.

 Endpoints for populating the UI with data. These need to consist of some joins. select constraintid, sja.segment, sjs.source, sjct.constrainttype, constraintvalue, targeting, frequency, period from signaljourneyaudienceconstraints JOIN signaljourneyaudiences sja ON sja.audienceid = signaljourneyaudienceconstraints.audienceid; JOIN signaljourneysources sjs ON sjs.sourceid = signaljourneyaudienceconstraints.sourceid JOIN signaljourneyconstrainttype sjct ON sjct.constrainttypeid = signaljourneyaudienceconstraints.constrainttypeid

He leído algunos documentos, creo que estoy en la línea correcta, pero sigo recibiendo errores como

 sqlalchemy.exc.ArgumentError: Join target SignalJourneyAudiences.segment does not refer to a mapped entity

Lo que obtengo porque SignalJourneyAudiences.segment no es una clave, estaba tratando de replicar la consulta SQL que sé que funciona.

 @app.get("/get-main-query-data", status_code=status.HTTP_200_OK) def get_main_query_data(): """Returns data for the main query.""" return ( db.query( models.SignalJourneyAudienceConstraints.constraintId, models.SignalJourneyAudiences.segment, models.SingalJourneySources.source, models.SignalJourneyConstraintType.constraintType, models.SignalJourneyAudienceConstraints.constraintValue, models.SignalJourneyAudienceConstraints.targeting, models.SignalJourneyAudienceConstraints.frequency, models.SignalJourneyAudienceConstraints.period, ) .join( models.SignalJourneyAudiences.segment, models.SignalJourneyAudiences.audienceId == models.SignalJourneyAudienceConstraints.audienceId, ) .join( models.SingalJourneySources.source, models.SingalJourneySources.sourceId == models.SignalJourneyAudienceConstraints.sourceId, ) .join( models.SignalJourneyConstraintType.constraintType, models.SignalJourneyConstraintType.constraintTypeId == models.SignalJourneyAudienceConstraints.constraintTypeId, ) .all() )

¿Tengo razón al pensar db.query() es mi cláusula de selección y luego hago cosas como uniones, filtros, etc.?

cualquier ayuda sería muy apreciada

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

He resuelto el problema, sabía que estaba en el camino correcto.

yo estaba usando

 .join( models.SignalJourneyAudiences.segment, models.SignalJourneyAudiences.audienceId == models.SignalJourneyAudienceConstraints.audienceId, )

en vez de

 .join( models.SignalJourneyAudiences, models.SignalJourneyAudiences.audienceId == models.SignalJourneyAudienceConstraints.audienceId, )
 @app.get("/get-main-query-data", status_code=status.HTTP_200_OK) def get_main_query_data(): """Returns data for the main query.""" return ( db.query( models.SignalJourneyAudienceConstraints.constraintId, models.SignalJourneyAudiences.segment, models.SingalJourneySources.source, models.SignalJourneyConstraintType.constraintType, models.SignalJourneyAudienceConstraints.constraintValue, models.SignalJourneyAudienceConstraints.targeting, models.SignalJourneyAudienceConstraints.frequency, models.SignalJourneyAudienceConstraints.period, ) .join( models.SignalJourneyAudiences, models.SignalJourneyAudiences.audienceId == models.SignalJourneyAudienceConstraints.audienceId, ) .join( models.SingalJourneySources, models.SingalJourneySources.sourceId == models.SignalJourneyAudienceConstraints.sourceId, ) .join( models.SignalJourneyConstraintType, models.SignalJourneyConstraintType.constraintTypeId == models.SignalJourneyAudienceConstraints.constraintTypeId, ) .all() )
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda