• here is one way ...though I would normally use a calendar table and also expect to have a user table (rather than build the cte's below)....maybe give you some ideas

    ;

    WITH cte_user

    AS (

    SELECT DISTINCT UserID

    FROM Yourtable

    )

    , cte_date

    AS (

    SELECT DISTINCT Puchdate

    FROM Yourtable

    )

    , cte_all

    AS (

    SELECT cte_user.UserID

    , cte_date.Puchdate

    FROM cte_date

    CROSS JOIN cte_user

    )

    SELECT ca.UserID

    , ca.Puchdate

    , ISNULL(y.Intime + ' ' + y.Outtime + ' Present', 'Absent') AS [status]

    FROM cte_all AS ca

    LEFT JOIN <YOUR TABLE> AS y

    ON ca.UserID = y.UserID AND ca.Puchdate = y.Puchdate

    ORDER BY ca.Puchdate

    , ca.UserID

    ________________________________________________________________
    you can lead a user to data....but you cannot make them think
    and remember....every day is a school day