If you are using Oracle:
SELECT A.ID, LISTAGG(B."type", ',') WITHIN GROUP (ORDER BY B.NAME) "TYPE"
FROM
(SELECT T1.NAME, T1.ID
FROM T1
GROUP BY T1.NAME, T1.ID) A
JOIN
(SELECT T2.NAME, T2."type"
FROM T2
GROUP BY T2.NAME, T2."type") B
ON A.NAME = B.NAME
GROUP BY A.ID;
Here is the DEMO for Oracle.
If you are using SQLServer:
SELECT A.ID, STRING_AGG (B."type", ',') WITHIN GROUP (ORDER BY B.NAME) "TYPE"
FROM
(SELECT T1.NAME, T1.ID
FROM T1
GROUP BY T1.NAME, T1.ID) A
JOIN
(SELECT T2.NAME, T2."type"
FROM T2
GROUP BY T2.NAME, T2."type") B
ON A.NAME = B.NAME
GROUP BY A.ID;
Here is the DEMO for SQLServer.
And if you are using MySQL then:
SELECT A.ID, GROUP_CONCAT(B.type ORDER BY B.NAME separator ',')
FROM
(SELECT t1.NAME, t1.ID
FROM t1
GROUP BY t1.NAME, t1.ID) A
JOIN
(SELECT t2.NAME, t2.`type`
FROM t2
GROUP BY t2.NAME, t2.`type`) B
ON A.NAME = B.NAME
GROUP BY A.ID;
Here is the DEMO for MySQL