I think you're looking for this:

    CREATE TABLE tableC AS 
      (SELECT ST_Intersection(a.geom, b.geom) AS geom, a.name AS name 
       FROM tableA AS a, tableB AS b
       WHERE ST_Intersects(a.geom, b.geom));

By looking at each intersection separately, you can access all the included data.