Este query lo construimos dinámicamente en clase para intentar construir jerarquias que posteriormente un cubo fuese capaz de poner en niveles.
Yo creo que el código casi se explica solo, así que ahí va el query y luego su resultado
create table Empleados ( idEmpleado int identity (1,1) primary key,
NombreEmpleado varchar(100) ,
idJefe int,
constraint fk_jefeempleado foreign key (idjefe) references Empleados (idEmpleado))
go
insert into Empleados (NombreEmpleado,idjefe) values('Javier El jefe',null)
insert into Empleados (NombreEmpleado,idjefe) values('Miguel Empleado',1)
insert into Empleados (NombreEmpleado,idjefe) values('Pepe El jefe',null)
insert into Empleados (NombreEmpleado,idjefe) values('antonio Empleado',3)
insert into Empleados (NombreEmpleado,idjefe) values('luis Empleado',2)
go
with cte (idEmpleado,NombreEmpleado,Nombrejefe,idjefe, jerarquia) as
(select IdEmpleado,NombreEmpleado,cast('JEFE' as varchar(100)) NombreJefe,idjefe ,
cast(cast (row_number() over( order by idEmpleado) as varchar(100))+'.'as varchar(100)) jerarquia
from empleados 
where idjefe is null
union all
select e.IdEmpleado,e.NombreEmpleado, cte.NombreEmpleado,e.idJefe as NombreJefe ,
cast (jerarquia+cast (row_number() over( order by e.idEmpleado) as varchar(100))+'.' as varchar(100))
from empleados E inner join
cte on e.idJefe=cte.idEmpleado
where not e.idjefe is
null
)
select * from cte
order by jerarquia

 

El resultado de la ejecución es

 

id Nombre JEFE idjefe jerarquia
1 Javier El jefe JEFE NULL 1.
2 Miguel Empleado Javier El jefe 1 1.1.
5 luis Empleado Miguel Empleado 2 1.1.1.
3 Pepe El jefe JEFE NULL 2.
4 antonio Empleado Pepe El jefe 3 2.1.

 

 

 

 

0 Shares:
Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

You May Also Like
Arquitectura Power BI Premium
Leer más

Arquitecturas Power BI Premium

Repasamos las posibles arquitecturas que puede tomar un proyecto de BI, partiendo de un escenario de Power BI Premium y en el que principalmente el dato viene de orígenes ya estructurados, analizando las principales ventajas e inconvenientes de cada uno, para poder elegir siempre el mejor camino.
Leer más

¿Qué es Machine Learning?

Iníciate en el Machine Learning: ¿qué es? ¿qué tipo de problemas puedo resolver? ¿cómo puede beneficiar mi negocio? ¿cómo comienzo a implementar esta tecnología? En este artículo nos adentraremos en el machine learning dirigido a los negocios y sus principales problemas. Aprende el concepto básico y sus aplicaciones...