SELECT Name, ROUND(SUM(Quantity * UnitCost) * 100/TotalSum,2) as Procent FROM product INNER JOIN orderdetails ON orderdetails.ProductId = product.Id INNER JOIN ( SELECT SUM(Quantity * UnitCost) as TotalSum, CategoryId FROM orderdetails INNER JOIN product ON orderdetails.ProductId = product.Id GROUP BY CategoryId) AS Summary ON product.CategoryId = Summary.CategoryId GROUP BY product.Id,Name,TotalSum;