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