NewTable is an alias of a selection in a particular query; it cannot be accessed again as a table.
You can do this for example using CTE:
WITH NewTable(Name,Sum_weight) as( SELECT Name, SUM(Weight) FROM Supplier S, Product P, P_S_Connect PS WHERE S.SupplierID=PS.SupplierID AND P.ProductID=PS.ProductID GROUP BY Name ) SELECT Name FROM NewTable WHERE Sum_weight=(SELECT MAX(Sum_weight) FROM NewTable);
Or so, using window functions:
SELECT Name FROM ( SELECT Name, Sum_weight, MAX(Sum_weight) over() as Max_weight FROM ( SELECT Name, SUM(Weight) AS Sum_weight FROM Supplier S, Product P, P_S_Connect PS WHERE S.SupplierID=PS.SupplierID AND P.ProductID=PS.ProductID GROUP BY Name ) A ) A WHERE Sum_weight=Max_weight
And on standard SQL, without CTE extensions or window functions, I’m afraid only like this:
SELECT Name FROM Supplier S, Product P, P_S_Connect PS WHERE S.SupplierID=PS.SupplierID AND P.ProductID=PS.ProductID GROUP BY Name HAVING SUM(Weight)= ( SELECT MAX(Sum_weight) FROM ( SELECT SUM(Weight) AS Sum_weight FROM Supplier S, Product P, P_S_Connect PS WHERE S.SupplierID=PS.SupplierID AND P.ProductID=PS.ProductID GROUP BY Name ) A )