我有兩個疑問喜歡的結果:查詢查詢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指導我...
我有兩個疑問喜歡的結果:查詢查詢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指導我...
select id, sum(value) as value
from (
select id, value from query1
uninon all
select id, value from query2
) x
group by id
嘗試使用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作爲替代方案。
不是特別好,但很容易理解的方法是:
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沒有出現在兩個表中,這很好
+1:我很高興你刪除的答案。感覺我們的慷慨有時被濫用。 – 2010-12-14 09:49:47
我編輯了我的問題chk it – Xulfee 2010-12-14 10:46:51
@Ardman:「慷慨[原文如此]」?你怎麼敢?!我們大多數人都在這裏鍛鍊自我! ;) – onedaywhen 2010-12-14 11:34:06