I think you're looking for this:
createCREATE TABLE tableC asAS
(selectSELECT st_intersectionST_Intersection(a.geom, b.geom) asAS geom, a.name asAS name
fromFROM tableA asAS a, tableB asAS b
whereWHERE st_intersectsST_Intersects(a.geom, b.geom));
By looking at each intersection separately, you can access all the included data.