Vous ne mentionnez pas si les colonnes sont nullables. S'ils le sont et que vous voulez la même sémantique que le AVG
l'agrégat fournit que vous pouvez faire (2008)
SELECT *,
(SELECT AVG(c)
FROM (VALUES(R1),
(R2),
(R3),
(R4),
(R5)) T (c)) AS [Average]
FROM Request
La version 2005 est un peu plus fastidieuse
SELECT *,
(SELECT AVG(c)
FROM (SELECT R1
UNION ALL
SELECT R2
UNION ALL
SELECT R3
UNION ALL
SELECT R4
UNION ALL
SELECT R5) T (c)) AS [Average]
FROM Request