es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo puedo combinar datos de dos filas con la misma clave externa en SQL/LINQ?

Tengo una tabla para los recibos de sueldo que puede contener múltiples recibos de sueldo con el mismo empleado. Cada recibo de sueldo tiene una columna de horas trabajadas. Quiero poder obtener las horas trabajadas de cada empleado dentro de cualquier período de tiempo que le indique.

Por ejemplo, si hay dos recibos de sueldo de enero de 2021 a febrero de 2021 pertenecientes al Empleado 1 y trabajó un total de 60 horas en esos dos meses, quiero obtener 60 horas trabajadas en una fila. Lo mismo ocurre con cada otro empleado.

¿Cómo puedo lograr esto?

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para lograr esto, puedes usar la cláusula GROUP BY de SQL junto con la función SUM para agregar las horas totales trabajadas por cada empleado dentro del período de tiempo especificado.

    Aquí tienes un ejemplo de consulta SQL:

    SELECT employee_id, SUM(hours_worked) AS total_hours_worked
    FROM payslips
    WHERE payslip_date BETWEEN '2021-01-01' AND '2021-02-28'
    GROUP BY employee_id;
    

    Esta consulta devolverá un conjunto de resultados con dos columnas: employee_id y total_hours_worked. Agrupará los comprobantes de pago por employee_id y luego sumará la columna hours_worked para cada empleado dentro del rango de fechas especificado, dándote el número total de horas trabajadas por cada empleado durante ese período.

Comments are closed.