2012-09-19 40 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

是的,我一直在試圖這樣做,因爲我的分數很低,我需要等待一段時間才能接受答案。 –