Essayez ceci :
SELECT age, COUNT(age) cnt
FROM
(
SELECT
T2.age
FROM Table1 T1
JOIN Table2 T2
ON T1.Id = T2.table1id
WHERE T1.published = 1
UNION ALL
SELECT age
FROM Table1
WHERE published = 1
) A
GROUP BY age