I think something similar to this would work. I did not test it.
SELECT T1.ID, T1.NAME, T1.DOB, A.HOBBYNAME || ',' || B.HOBBYNAME
FROM (SELECT T2.ID, T3.HOBBYNAME
FROM TABLE2 T2,
TABLE3 T3
WHERE T2.HOBBYID = T3.HOBBYID
AND T2.HOBBYID = 1) A,
(SELECT T2.ID, T3.HOBBYNAME
FROM TABLE2 T2,
TABLE3 T3
WHERE T2.HOBBYID = T3.HOBBYID
AND T2.HOBBYID = 2) B,
TABLE1 T1
WHERE T1.ID = A.ID
AND T1.ID = B.ID
ORDER BY T1.ID