none
¿Cómo mostrar el sueldo actual de un empleado? RRS feed

  • Pregunta

  • INSERT INTO
    	TEmpleado (cod_empl, nombre, apellido1, apellido2, cedula, nacimiento, estado)
    VALUES
    	(1, 'Ariel', 'Rocabado', 'Algarañas', '63242123 SC', '23/12/1990', 1),
    	(2, 'Alejandro', 'Cordova', 'Paniagua', '68487954 LP', '15/04/1985', 1)
    
    INSERT INTO
    	TSueldo (cod_suel, sueldo, fecha, cod_empl)
    VALUES
    	(1, 1800, '01/01/2016', 1),
    	(2, 1900, '01/01/2016', 2),
    	(3, 2000, '01/12/2016', 1),
    	(4, 2500, '01/11/2016', 2)

    Esta es la información que tengo, por favor 

    ¿Cómo puedo hacer un reporte que me diga solo la información del empleado con el sueldo actual que tiene?

    me tendría que mostrar algo así:

    cod_empl |  nombre completo                | cédula            | nacimiento   | sueldo
    1             | Ariel Rocabado Algarañas      | 63242123 SC | 23/12/1990 | 2000
    2             | Alejandro Cordova Paniagua  | 68487954 LP | 15/04/1985 | 2500



    • Editado Misael_RS jueves, 15 de diciembre de 2016 1:23
    jueves, 15 de diciembre de 2016 1:21

Respuestas

  • Misael_RS,

    Puedes intentar con la siguiente consulta:

    WITH Sueldos AS
    (
        SELECT 
    	   t1.cod_empl, t1.sueldo, 
    	   ROW_NUMBER() OVER(PARTITION BY t1.cod_empl ORDER BY t1.fecha DESC) AS [Fila] 
        FROM TSueldo t1
    )
    SELECT
        e.cod_empl, 
        CONCAT(e.nombre, ' ' , e.apellido1, ' ' , e.apellido2) AS [Nombre completo],
        e.cedula, e.nacimiento, s.sueldo
    
    FROM
        nTEmpleado e
        INNER JOIN Sueldos s ON (e.cod_empl = s.cod_empl)
    	   AND (s.Fila = 1);


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    • Marcado como respuesta Misael_RS jueves, 15 de diciembre de 2016 3:46
    • Desmarcado como respuesta Misael_RS jueves, 15 de diciembre de 2016 3:49
    • Marcado como respuesta Misael_RS jueves, 15 de diciembre de 2016 3:53
    jueves, 15 de diciembre de 2016 2:49

Todas las respuestas

  • Misael_RS,

    Puedes intentar con la siguiente consulta:

    WITH Sueldos AS
    (
        SELECT 
    	   t1.cod_empl, t1.sueldo, 
    	   ROW_NUMBER() OVER(PARTITION BY t1.cod_empl ORDER BY t1.fecha DESC) AS [Fila] 
        FROM TSueldo t1
    )
    SELECT
        e.cod_empl, 
        CONCAT(e.nombre, ' ' , e.apellido1, ' ' , e.apellido2) AS [Nombre completo],
        e.cedula, e.nacimiento, s.sueldo
    
    FROM
        nTEmpleado e
        INNER JOIN Sueldos s ON (e.cod_empl = s.cod_empl)
    	   AND (s.Fila = 1);


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    • Marcado como respuesta Misael_RS jueves, 15 de diciembre de 2016 3:46
    • Desmarcado como respuesta Misael_RS jueves, 15 de diciembre de 2016 3:49
    • Marcado como respuesta Misael_RS jueves, 15 de diciembre de 2016 3:53
    jueves, 15 de diciembre de 2016 2:49
  • Gracias amigo, eso es lo que necesitaba.
    jueves, 15 de diciembre de 2016 3:54