You do not mention anything specific, but this should give you an idea how to solve your problem.UPDATE xSET x.num1 = x.myAvg1, x.num2 = x.myAvg2, x.num3 = x.myAvg3FROM YourDestinationTableNameHere xCROSS JOIN ( SELECT 1.0 * SUM(CASE WHEN code1 = 'Y' THEN 1 ELSE 0 END) / COUNT(*) myAvg1, 1.0 * SUM(CASE WHEN code2 = 'Y' THEN 1 ELSE 0 END) / COUNT(*) myAvg2, 1.0 * SUM(CASE WHEN code3 = 'Y' THEN 1 ELSE 0 END) / COUNT(*) myAvg3 FROM YourSourceTableNameHere ) y
Peter LarssonHelsingborg, Sweden