添加列值在SQL Server查询
问题描述:
我有两个疑问喜欢的结果:查询查询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