T SQL Sum из отдельных представлений - PullRequest
0 голосов
/ 19 ноября 2010

У меня есть 3 вида, которые называются vQuestion1, vQuestion2, vQuestion3.Каждый из них имеет 2 столбца: «Итог» и «Итог».

Столбец «Результат» может иметь несколько значений, таких как «Нет данных», «Улучшено», «Не улучшено».Каждый результат имеет общий балл.

vQuestion1                vQuestion2              vQuestion3
Outcome      Total        Outcome       Total     Outcome     Total
N/A          12           Improved      10        N/A         5
Improved     10           Not Improved  20        Improved    13
Not Improved 4

Мне нужно создать результат, в котором итоги суммируются, чтобы создать результат следующим образом:

Total Answers
Outcome      Total
N/A          17
Improved     33
Not Improved 24

Обратите внимание, что не все ответысуществует в каждом вопросе, т. е. Вопрос2 не имеет N / A.

1 Ответ

1 голос
/ 19 ноября 2010

Сначала выполните UNION ALL, а затем SUM

Что-то вроде

SqlServer 2005 +

;WITH Vals AS (
        SELECT  *
        FROM    vQuestion1
        UNION ALL
        SELECT  *
        FROM    vQuestion2
        UNION ALL
        SELECT  *
        FROM    vQuestion3
)
SELECT  Outcome,
        SUM(Total) Total
FROM    Vals
GROUP BY    Outcome

Или

SELECT  Outcome,
        SUM(Total) Total
FROM    (
            SELECT  *
            FROM    vQuestion1
            UNION ALL
            SELECT  *
            FROM    vQuestion2
            UNION ALL
            SELECT  *
            FROM    vQuestion3
        ) Vals
GROUP BY    Outcome
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...