Resultado agrupado insert en dos tablas

Tengo la siguiente tabla.

CREATE TEMPORARY TABLE temp_detail
(
  purchase_order_detail_id INTEGER,
  item_id integer,
  qty numeric(18,2),
  project_id integer,
  category_id integer,
  supplier_id integer,
  rate numeric(18,2)
);

Estoy obteniendo el resultado agrupado con ID usando

  SELECT array_agg(purchase_order_detail_id), project_id, category_id, supplier_id 
  FROM temp_detail 
  GROUP BY project_id, category_id, supplier_id

Ahora quiero insertar project_id, category_id, supplier_id en una tabla maestra y item_id, qty, rate en su tabla de detalles. La tabla de detalles tendrá el ID de la tabla maestra como clave foránea. Por favor ayuda.

Respuestas a la pregunta(1)

Su respuesta a la pregunta