Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Média de várias colunas


Você não menciona se as colunas são anuláveis. Se eles são e você quer a mesma semântica que o AVG agregado fornece que você pode fazer (2008)
SELECT *,
       (SELECT AVG(c)
        FROM   (VALUES(R1),
                      (R2),
                      (R3),
                      (R4),
                      (R5)) T (c)) AS [Average]
FROM   Request  

A versão de 2005 é um pouco mais tediosa
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