SQL Server - ayuda con esta query

   
Vista:

ayuda con esta query

Publicado por jorge (3 intervenciones) el 17/06/2010 03:13:27
NECESITO UN QUERY PARA PODER REALIZAR ESTE EJEMPLO , PERO DONDE DICE JEFE SALE EL NUMERO DE IDEMPLEADO, EN VEZ DE ESTO QUE APAREZCA EL NOMBRE
POR EJEMPLO EL EMPLEADO (1)NANCY SU JEFE ES (2) ANDREW


idempleado nombre jefe
----------- ---------- -----------
2 Andrew NULL
1 Nancy 2
3 Janet 2
4 Margaret 2
5 Steven 2
8 Laura 2
7 Robert 5
6 Michael 5
9 Anne 5

que salga algo asi

idempleado nombre jefe
----------- ---------- -----------
1 Nancy Andrew
3 Janet Andrew
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
Imágen de perfil de Isaias

RE:ayuda con esta query

Publicado por Isaias (3182 intervenciones) el 17/06/2010 23:02:41
¿Que avance llevas de tu query?, ¿Que edicion de SQL Server manejas?
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

RE:ayuda con esta query

Publicado por jorge (3 intervenciones) el 18/06/2010 05:09:41
No es una sola tabla con todos los campos

idempleado ,nombre y jefe estan en la misma tabla

idempleado nombre jefe
1 juan 2
2 pedro 3
3 luis 2
4 jose 2

osea que aparesca

idempleado nombre jefe
1 juan pedro
2 pedro luis
3 luis pedro
4 jose pedro
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
Imágen de perfil de Isaias

RE:ayuda con esta query

Publicado por Isaias (3182 intervenciones) el 18/06/2010 18:12:18
De acuerdo, es UNA SOLA TABLA, ¿que edicion de SQL Server manejas y que avance llevas de tu query?
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

RE:ayuda con esta query

Publicado por Jimmy Torres (3 intervenciones) el 18/06/2010 22:15:56
Prueba el siguiente query teniendo que la tabla se llama Empleados:

SELECT Empleados_1.idempleado as 'Numero', Empleados_1.nombre as 'Nombre', Empleados.nombre as 'Jefe'
FROM Empleados INNER JOIN Empleados AS Empleados_1 ON Empleados.idempleado = Empleados_1.jefe

Fíjate que la tabla Empleados y Empleados_1 son la misma tabla y no se trata de dos tablas individuales, solo lo que hago es una relacion a la misma tabla.
Con el unico inconveniente de que si hay un empleado en la tabla que es jefe de otros empleados su jefe debe ser el mismo en caso de que no tuviese un superior dentro de la tabla.

Por ejemplo tienes estos datos en la tabla Empleados:

1,Santiago,1
2,Maria,1
3,Juan,1
4,Pedro,2
5,Rafael,3

Como notarás Juan es jefe de Rafael, María es jefe de Pedro y Santiago jefe de Maria y Juan, mas Santiago no tiene jefe asi que deberá ser el mismo.

Espero te sirva y saludos...
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

RE:ayuda con esta query

Publicado por Jason Gonzales (2 intervenciones) el 18/06/2010 00:04:21
Si por ejemplo tienes una tabla de empleados:

Empleados:
idempleado
nombre
jefe

Y tienes otra tabla de jefes

Jefes:
jefe
nombrejefe

Podrias intentar algo asi:

Select A.idempleado,A.nombre,B.nombrejefe from Empleados as A, Jefes as B where A.jefe = B.jefe

Saludos
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

RE:ayuda con esta query

Publicado por jorge (3 intervenciones) el 20/06/2010 02:07:59
Muchas gracias por la solucion
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

ayuda

Publicado por rosita (1 intervención) el 28/02/2013 22:11:13
hola estuve viendo este caso y a mi me resulto una parte de la solucion que aqui comentas yo lo hice de la siguiente manera
SELECT concat(Empleados.nombre," ",empleados.apellidos) as jefe,
group_concat(concat(Empleados_1.nombre," ",empleados_1.apellidos)) as 'empleados'
FROM Empleados INNER JOIN Empleados AS Empleados_1 ON Empleados.id = Empleados_1.jefe_id
group by Empleados.nombre," ",empleados.apellidos
order by empleados.nombre,empleados.apellidos asc

y ahora lo que busco es que me ordene por orden alfabetico lo que contiene el group concat
espero me puedas ayudar
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