Добавить значения столбца в запросе SQL Server - PullRequest
2 голосов
/ 14 декабря 2010

У меня есть результат двух запросов, таких как:

Результат запроса 1

ID   Value
1    4
2    0
3    6
4    9

Результат запроса 2

ID   Value
1    6
2    4
3    0
4    1

Я хочу добавить столбец значений «Значение» и показать окончательный результат:

Результат обоих запросов

ID   Value
1    10
2    4
3    6
4    10

PLZ, наведите меня ...

Ответы [ 3 ]

3 голосов
/ 14 декабря 2010
select id, sum(value) as value
from (
    select id, value from query1
    uninon all
    select id, value from query2
) x
group by id
0 голосов
/ 14 декабря 2010

Не очень приятный, но довольно простой для понимания способ:

SELECT ID,SUM(Value) FROM
(
(SELECT IDColumn AS ID,ValueColumn AS Value FROM TableA) t1
OUTER JOIN
(SELECT IDColumn AS ID,ValueColumn AS Value FROM TableB) t2
) a GROUP BY a.ID

Он имеет преимущества

a) Я не знаю вашу фактическую структуру таблицы, поэтому вам следуетбыть в состоянии понять, как заставить работать два SELECT из ваших исходных запросов. б) Если идентификатор не отображается ни в одной из таблиц, это нормально

0 голосов
/ 14 декабря 2010

Попробуйте использовать JOIN:

SELECT
    T1.ID,
    T1.Value + T2.Value AS Value
FROM (...query1...) AS T1
JOIN (...query2...) AS T2
ON T1.Id = T2.Id

Вам также может понадобиться рассмотреть, что должно произойти, если в одном результате присутствует идентификатор, а в другом нет. Текущий запрос пропустит его из результатов. Вы можете исследовать OUTER JOIN в качестве альтернативы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...