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

163
Visualizações
falta la entrada de la cláusula FROM para la tabla cuando se usa string_agg

Tengo esta consulta para intentar buscar el curso que cumpla 3 requisitos.

 select course.id, course.title, course.number, string_agg(requirement.description,'; ' order by requirement.description) from course join ( select course.id, course.title, course.number from requirement join course_requirement on (requirement.id=course_requirement.requirement) join course on (course.id=course_requirement.course) where requirement.description='Human Behavior' ) as c1 on (c1.id=course.id) join ( select course.id, course.title, course.number from requirement join course_requirement on (requirement.id=course_requirement.requirement) join course on (course.id=course_requirement.course) where requirement.description='Intercultural' ) as c2 on (c1.id=c2.id) join ( select course.id, course.title, course.number from requirement join course_requirement on (requirement.id=course_requirement.requirement) join course on (course.id=course_requirement.course) where requirement.description='Religion' ) as c3 on (c1.id=c3.id) group by course.id, course.title, course.number;

Sin embargo, recibo este mensaje: ERROR: falta la entrada de la cláusula FROM para la tabla "requisito" LÍNEA 1: ...curso.id, curso.título, curso.número,cadena_agg(requisito... ¿Puede decirme dónde se equivoco en la consulta?

¡Muchas gracias!

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

0

No veo el punto de las tres subconsultas unidas, que difieren solo en la descripción del requisito en la cláusula WHERE . En su lugar, puede intentar una única consulta que utilice WHERE IN para capturar las tres descripciones que desea en su conjunto de resultados. Esto también soluciona el problema que tenía con string_agg() , donde intentaba agregar algo de una subconsulta no accesible en la consulta externa.

Pruebe la siguiente consulta:

 select t1.id, t1.title, t1.number, string_agg(t3.description, '; ' order by t3.description) from course t1 inner join course_requirement t2 on t1.id = t2.course inner join requirement t3 on t2.requirement = t3.id where t3.description in ('Human Behavior', 'Intercultural', 'Religion') group by t1.id, t1.title, t1.number;
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