none
Where sin resultados Nulos RRS feed

  • Pregunta

  • CREATE TABLE dbo.Empleado_Tabla 
    (Num_Empleado INT, Fecha_Vencimiento_Lic DATE,    Fecha_Cert_Salud DATE, Fecha_Cert_Conducta DATE)
    GO
    
    Insert Into dbo.Empleado_Tabla(num_empleado
     , Fecha_Vencimiento_Lic
     , Fecha_Cert_Salud
     , Fecha_Cert_Conducta)
    Values
    	   ( 19811136, Null, Null, '2019-10-02' ),
    	   ( 19813712, Null, Null, Null ),
    	   ( 19858766, '2017-10-27', Null, Null ),
    	   ( 19898057, '2020-10-21', Null, Null ),
    	   ( 19952668, Null, Null, Null ),
    	   ( 19958711, Null, Null, Null ),
    	   ( 19974121, '2021-10-04', Null, Null ),
    	   ( 19975038, Null, Null, Null ),
    	   ( 19989453, Null, Null, Null ),
    	   ( 19994142, Null, Null, Null ),
    	   ( 20002470, '2022-10-28', Null, Null ),
    	   ( 20005267, Null, Null, Null ),
    	   ( 20015958, Null, Null, '2019-09-09' );
    GO

    Select t.num_empleado 
    , Case 
    When Month(t.Fecha_Vencimiento_Lic) = 10 Then t.Fecha_Vencimiento_Lic 
    Else Null 
    End As Fecha_Conducir 
    , Case 
    When Month(t.Fecha_Cert_Salud) = 10 Then t.Fecha_Cert_Salud 
    Else Null 
    End As Fecha_Salud 
    , Case 
    When Month(t.Fecha_Cert_Conducta) = 10 Then t.Fecha_Cert_Conducta 
    Else Null 
    End As Fecha_Conducta 
    From Empleado_Tabla As t 
    WHERE 
    (T.Fecha_Vencimiento_Lic IS not NULL
    or 
    T.Fecha_Cert_Salud IS not NULL
    or
    T.Fecha_Cert_Conducta IS not NULL
    )

    el resultado que deseo es el de la tabla de arriba pero con esa consulta el resultado que me sale es el siguiente, por que mi tabla puede tener diferentes fechas que no necesariamente son las del mes 10

    Este es el resultado que me sale por que el empleado 20015958 tiene una fecha en la tabla que no tiene mes 10

    ( 20015958, Null, Null, '2019-09-09' );

    jueves, 29 de octubre de 2020 18:22

Respuestas

  • Hola Efrain Diaz:

    Si deseas que además tenga el mes 10.

    Select t.num_empleado 
    , Case 
    When Month(t.Fecha_Vencimiento_Lic) = 10 Then t.Fecha_Vencimiento_Lic 
    Else Null 
    End As Fecha_Conducir 
    , Case 
    When Month(t.Fecha_Cert_Salud) = 10 Then t.Fecha_Cert_Salud 
    Else Null 
    End As Fecha_Salud 
    , Case 
    When Month(t.Fecha_Cert_Conducta) = 10 Then t.Fecha_Cert_Conducta 
    Else Null 
    End As Fecha_Conducta 
    From Empleado_Tabla As t 
    WHERE 
    (T.Fecha_Vencimiento_Lic IS not NULL 
    or 
    T.Fecha_Cert_Salud IS not NULL
    or
    T.Fecha_Cert_Conducta IS not NULL
    )
    AND
    (MONTH(T.Fecha_Vencimiento_Lic) = 10
    or 
    MONTH(T.Fecha_Cert_Salud)=10
    or
    MONTH(T.Fecha_Cert_Conducta)=10
    )

    • Marcado como respuesta Efrain Diaz viernes, 30 de octubre de 2020 20:42
    jueves, 29 de octubre de 2020 20:15