Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

406
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!