2012-09-19 116 views
2

我需要编写一个简单查询作为连接两个表的较大函数的一部分。该表是为下通过以下输出连接两个表的SQL查询

表1

Code Subactivity 
647  1 
647  2 
648  3 
648  4 

表2

Subactivity Hours 
1    5 
2    10 
3    7 
4    3 

最终的输出应该像

Code hours 
647  15 
648  10 

之前,我已经这样做了,但今天我只是c蚂蚁让我的头周围..

+2

请学会用你的shift键。 SHOUTING无法帮助您更快地获得答案,这只会让您的问题更难以阅读(这可能是他们首先发明shift键的原因)。 –

+1

你给了我一个负分数?我会在现在的病房里考虑你的建议,但是你需要停止按下否定按钮,因为你不喜欢所有的大写字母。另外,如果我的描述都是大写字母,但我认为这些问题仍然很好容易阅读... –

+0

我没有在这里“给一个否定的投票”。我纠正了你的SHOUTING,但并没有让这个问题垂头丧气。在你指责某人做某事之前,你应该确定你有合适的人。 (我可能应该低调,因为除了说“我以前做过这件事”之外,你没有在这里解决它,但我没有。) –

回答

3
DECLARE @t1 TABLE([Code] INT,[Subactivity] INT) 
INSERT INTO @t1 VALUES(647,1),(647,2),(648,3),(648,4) 

DECLARE @t2 TABLE([Subactivity] INT, [Hours] INT) 
INSERT INTO @t2 VALUES(1,5),(2,10),(3,7),(4,3) 

SELECT t1.Code,SUM(t2.Hours) hours 
FROM @t1 t1 JOIN @t2 t2 ON t1.subactivity = t2.subactivity 
GROUP BY t1.CODE 

结果

Code hours 
647  15 
648  10 
+0

完美的作品。非常感谢你。 –

+0

不要忘记接受答案 –

+0

是的,我一直在试图这样做,因为我的分数很低,我需要等待一段时间才能接受答案。 –