SQL - Como puedo realizar esta consulta

 
Vista:
sin imagen de perfil
Val: 3
Ha disminuido su posición en 20 puestos en SQL (en relación al último mes)
Gráfica de SQL

Como puedo realizar esta consulta

Publicado por Pedro (1 intervención) el 24/09/2020 00:28:42
Buenas, tengo dudas sobre como hacer esta consulta, tengo una DB de empresa la cual tiene una tabla empleados donde un empleado puede ser supervisor de otro, la consulta que quiero realizar es que agregando una nueva columna que me indique el total de empleados que está supervisando esa personas.

Esta sería la tabla empleados.

1
2
3
4
5
6
7
8
9
10
11
12
13
CREATE TABLE empleados
(
	ci_id INT NOT NULL PRIMARY KEY,
	snombre VARCHAR(30) NOT NULL,
	sappaterno VARCHAR(30) NOT NULL,
	sapmaterno VARCHAR(30),
	sdireccion VARCHAR(150) NOT NULL,
	stelefono VARCHAR(10),
	nsalario NUMERIC(10,2) NOT NULL,
	dtNacimiento DATE NOT NULL,
	supervisor_id INT,
    dpto_id INT NOT NULL
);

La consulta me gustaría que retornara esta información

Captura-de-pantalla-2020-09-23-182405
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 69
Ha disminuido 1 puesto en SQL (en relación al último mes)
Gráfica de SQL

Como puedo realizar esta consulta

Publicado por Jorge (16 intervenciones) el 24/09/2020 00:55:29
A juzgar por esta estructura que muestras, supongo que la columna supervisor_id almacenará el id del empleado que será subordinado por el jefe implicado.

De manera que interpretaría que aquellos empleados cuyo supervisor_id esté null quiere decir que son jefes y a su vez donde aparezca el ID de este empleado (Jefe) en la columna supervisor_id, quiere decir que ese empleado es subalterno o depende de quien aparezca en dicha columna.

Sería hacer un Group By por esa columna cuando no esté nula y se hace un count(*) que nos muestre la cantidad de empleados que tiene a su cargo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar