none
Como guardar los usuarios no registrados en una tabla ? RRS feed

  • Pregunta

  • Buenas , recien estoy comenzando una aplicacion , esta guarda informacion de los empleados en un archivo que extraigo hacia un gridview y guardo su informacion a una tabla llamada (INFO), mediante el uso de cursores (estos están dentro de un Stored Procedure ) guardo hacia otra tabla Ausencias, usando un rango de fechas determino a los empleados que llegaron tarde y los guardo en mi segunda tabla determino esto con la fecha, hora e Id_Usuario, el problema es que necesito guardar los empleados que no van ya que si faltan , en el archivo en donde extraigo los datos no aparecen. quisiera saber como detectar a esos usuarios e insertarlos en mi segunda tabla .

    muchas gracias

    martes, 14 de marzo de 2017 17:55

Respuestas

  • select datosde empleado from tabladeempleados left join tabladefichajes on codigoempleado=fichajes.codigoempleado where fichajes.codigoempleado is null

    esto te da los empleados que nunca han tenido fichajes

    select datosde empleado from tabladeempleados left join ( select * from  tabladefichajes where fechafichaje between inicio and fin ) tabladefichajes on codigoempleado=fichajes.codigoempleado where fichajes.codigoempleado is null

    esto de arriba los que no han fichado en un periodo.

    Si puedes evita los cursores, son un demonio para el rendimiento


    Comparte lo que sepas, aprende lo que no sepas (FGG)
    portalSQL
    El rincón del DBA

    • Marcado como respuesta Eduardo_Ramirez miércoles, 15 de marzo de 2017 14:51
    martes, 14 de marzo de 2017 18:09
    Moderador

Todas las respuestas

  • select datosde empleado from tabladeempleados left join tabladefichajes on codigoempleado=fichajes.codigoempleado where fichajes.codigoempleado is null

    esto te da los empleados que nunca han tenido fichajes

    select datosde empleado from tabladeempleados left join ( select * from  tabladefichajes where fechafichaje between inicio and fin ) tabladefichajes on codigoempleado=fichajes.codigoempleado where fichajes.codigoempleado is null

    esto de arriba los que no han fichado en un periodo.

    Si puedes evita los cursores, son un demonio para el rendimiento


    Comparte lo que sepas, aprende lo que no sepas (FGG)
    portalSQL
    El rincón del DBA

    • Marcado como respuesta Eduardo_Ramirez miércoles, 15 de marzo de 2017 14:51
    martes, 14 de marzo de 2017 18:09
    Moderador
  • select Id_Usuario,Fecha, Hora from Ausencias left join ( select * from INFO where Fecha between '' and '' ) INFO on Id_Usuario = fichajes.Id_Usuario where fichajes.Id_Usuario is null

    así quedaría maso menos la consulta no? 

    fichajes.codigoempleado where fichajes.codigoempleado is null

    otra pregunta por que pusiste fichajes?


    martes, 14 de marzo de 2017 18:54
  • sería where info.id_usuario is null y puse ficharjes por poner algo :)

    Comparte lo que sepas, aprende lo que no sepas (FGG)
    portalSQL
    El rincón del DBA

    miércoles, 15 de marzo de 2017 7:32
    Moderador