Xulfee
Xulfee

Reputation: 986

Add Column values in sql server query

I have result of two queries like:

Result of query 1

ID   Value
1    4
2    0
3    6
4    9

Result of query 2

ID   Value
1    6
2    4
3    0
4    1

I want to add values column "Value" and show final result:

Result of Both queries

ID   Value
1    10
2    4
3    6
4    10

plz guide me...

Upvotes: 2

Views: 9624

Answers (3)

Arvo
Arvo

Reputation: 10570

select id, sum(value) as value
from (
    select id, value from query1
    uninon all
    select id, value from query2
) x
group by id

Upvotes: 3

Justin Wignall
Justin Wignall

Reputation: 3510

A not particularly nice but fairly easy to comprehend way would be:

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

It has the benefits of

a) I don't know your actual table structure so you should be able to work out how to get the two 'SELECT's working from your original queries b) If ID doesn't appear in either table, that's fine

Upvotes: 0

Mark Byers
Mark Byers

Reputation: 838226

Try using a JOIN:

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

You may also need to consider what should happen if there is an Id present in one result but not in the other. The current query will omit it from the results. You may want to investigate OUTER JOIN as an alternative.

Upvotes: 0

Related Questions