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.