I have no access to your fusion table, so I made up one to make the answer.

First approach: 2D table

<!-- language: lang-js -->

    var yearly = ee.ImageCollection('JRC/GSW1_0/YearlyHistory');
    // function to map over the FeatureCollection
    var mapfunc = function(feat) {
      // get feature geometry
      var geom = feat.geometry()
      // function to iterate over the yearly ImageCollection
      // the initial object for the iteration is the feature
      var addProp = function(img, f) {
        // cast Feature
        var newf = ee.Feature(f)
        // get date as string
        var date = img.date().format()
        // extract the value (first) of 'waterClass' in the feature
        var value = img.reduceRegion(ee.Reducer.first(), geom, 30).get('waterClass')
        // if the value is not null, set the values as a property of the feature. The name of the property will be the date
        return ee.Feature(ee.Algorithms.If(value,
                                           newf.set(date, ee.String(value)),
                                           newf.set(date, ee.String('No data'))))
      }
      var newfeat = ee.Feature(yearly.iterate(addProp, feat))
      return newfeat
    };
    
    var newft = fg_points.map(mapfunc);
    
    // Export
    Export.table.toDrive(newft,
    "export_Points",
    "export_Points",
    "export_Points");

Second approach: 1D table

<!-- language: lang-js -->

    var yearly = ee.ImageCollection('JRC/GSW1_0/YearlyHistory');
    // function to map over the FeatureCollection
    var mapfunc = function(feat) {
      // get feature id
      var id = ee.String(feat.id())
      // get feature geometry
      var geom = feat.geometry()
      // make an empty list to store the features
      var newfc = ee.List([])
      // function to iterate over the ImageCollection
      var addProp = function(img, fc) {
        // the initial value is the empty list
        fc = ee.List(fc)
        // get the date as string
        var date = img.date().format()
        // extract the value of 'waterClass'
        var value = img.reduceRegion(ee.Reducer.first(), geom, 30).get('waterClass')
        // If the value is null then store it as 'No data'
        var val = ee.String(ee.Algorithms.If(value, ee.String(value), ee.String('No data')))
        // make the name of the feature (feat_id-date)
        var featname = ee.String("feat_").cat(id).cat(ee.String("-")).cat(date)
        // make the Feature
        var newfeat = ee.Feature(geom, {name:featname,
                                        value:val})
        // add the value to the list
        return fc.add(newfeat)
      }
      var newfeat = ee.FeatureCollection(ee.List(yearly.iterate(addProp, newfc)))
      return newfeat
    };
    
    var newft = fg_points.map(mapfunc).flatten();
    
    Export.table.toDrive(newft,
    "export_Points",
    "export_Points",
    "export_Points");

If features in your FeatureCollection have a `name` property (or something  that identifies each feat) you can change in the second approach:

    var id = ee.String(feat.id())

for

    var id = ee.String(feat.get('name'))