2010-12-14 118 views
2

我有兩個疑問喜歡的結果:查詢查詢1添加列值在SQL Server查詢

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
select id, sum(value) as value 
from (
    select id, value from query1 
    uninon all 
    select id, value from query2 
) x 
group by id 
0

嘗試使用JOIN:

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

您可能還需要考慮是否有存在於一個結果,但不是在一個ID應發生什麼其他。當前查詢將從結果中省略。您可能需要調查OUTER JOIN作爲替代方案。

+2

+1:我很高興你刪除的答案。感覺我們的慷慨有時被濫用。 – 2010-12-14 09:49:47

+0

我編輯了我的問題chk it – Xulfee 2010-12-14 10:46:51

+0

@Ardman:「慷慨[原文如此]」?你怎麼敢?!我們大多數人都在這裏鍛鍊自我! ;) – onedaywhen 2010-12-14 11:34:06

0

不是特別好,但很容易理解的方法是:

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 

它的好處

一)我不知道你的實際的表結構,所以你應該能夠工作如何從原始查詢得到兩個「SELECT的工作 b)若ID沒有出現在兩個表中,這很好