• "There should be a column list after the "WITH MonthlyProductSales" "

    is also correct. If one adds a column list then there is absolutely no need to name the fields of the select clause that follows in the SELECT pertained in the CTE statement.

    Nothing that has not been done before.