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

418
Visualizações
SQL: la visualización del nombre del equipo principal depende del equipo secundario al menos un empleado

tengo 3 mesas

equipos

 id name 6 WD 7 LGO 10 PS 11 EM 12 SO 13 DM 14 DMS 15 CRO 16 T / T

mapeo_equipo

 id team_id parent_team_id 1 6 0 2 7 0 3 10 7 4 11 7 5 12 0 6 13 12 7 14 12 8 15 0 9 16 15

empleados

 id name team_id 3 Bk 6 4 Nr 6 5 SV 7 6 GK 10 7 JPD 13 8 BSY 16 9 MK 16 10 Ps 16 11 Bji 16

mi consulta es

 SELECT t.* FROM teams t INNER JOIN employees e ON t.id = e.team_id INNER JOIN team_mapping tm ON t.id = tm.team_id WHERE tm.parent_team_id = '0' GROUP BY t.id

se muestra como

 id name 6 WD 7 LGO

pero quiero mostrar el nombre del equipo principal solo si al menos tengo un empleado en el equipo principal o en el equipo secundario. es decir, salida como

 team_id name 6 WD 7 LGO 12 SO 15 CRO

Por favor, ayúdame a escribir una consulta y la salida debería mostrarse como el resultado anterior

Gracias

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

0

así es como debería verse su consulta

 SELECT DISTINCT CAST(t.id AS INT) id,t.name FROM teams t LEFT JOIN employees e ON t.id = e.team_id LEFT JOIN team_mapping tm ON t.id = tm.team_id WHERE tm.parent_team_id = '0'

Puede usar LEFT JOIN para su consulta.

Luego eliminé la cláusula GROUP BY y la reemplacé con DISTICNT.

Solo uso la identificación CAST (t.id AS INT) para que el resultado se organice, de cualquier manera, puede eliminar la parte fundida, la única diferencia es la disposición del resultado.

over 4 years ago · Santiago Trujillo Relatório

0

select distinct id, name from teams t inner join (SELECT case when tm.parent_team_id = 0 then tm.team_id else tm.parent_team_id end as TID FROM teams t INNER JOIN team_mapping tm ON t.id = tm.team_id INNER JOIN employees e ON tm.team_id = e.team_id ) as table2 on t.id = table2.TID

Este código está en SQL Server

Aquí la consulta secundaria devuelve valores duplicados, y no podemos usar distintos con la declaración del caso. Para evitar valores duplicados y obtener el nombre del equipo principal, se necesita la unión interna con la subconsulta

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