Join 2 tables and get the latest record
You could return the sequential number of a row within a partition (in this case id) of a result set, starting at 1 (AND seqnum = 1) for the first row in each partition.

See below

SELECT t.created_by, 
       t.created_date, 
       tl.updated_by, 
       tl.updated_date 
FROM   test_name t 
      INNER JOIN (SELECT tl.*,
            Row_number() 
              OVER ( 
                partition BY id 
                ORDER BY updated_date DESC ) AS seqnum 
             FROM   test_log tl) tl 
         ON t.id = tl.id 
            AND seqnum = 1 
WHERE  state = 'active';