INSERT INTO `table_g`(`id_1`, `id_2`, `id_3`)
SELECT t1.`id`, t2.`id`, t3.`id`
FROM `table_name` tn
RIGHT JOIN `table_old` t1 ON tn.`name` = t1.`name_1` AND t1.`role` = 'g'
RIGHT JOIN `table_old` t2 ON tn.`name` = t2.`name_2` AND t2.`role` = 'g'
RIGHT JOIN `table_old` t3 ON tn.`name` = t3.`name_3` AND t3.`role` = 'g'
A prima vista c'è molta ambiguità nella tua selezione, quindi almeno dovresti provare cosa succede usando il codice sopra.