2016-04-17 41 views
0

請幫我查詢,在MS-訪問查詢和與一羣來自2個不同的表

我要表爲前:

Table A: 
Prim_key For_key Total 
1  ID1  10 
2  ID1  20 
3  ID2  30 
4  ID2  10 
Table B: 
Prim_key For_key Total 
1  ID1  20 
2  ID1  5 
3  ID2  20 
4  ID2  10 

我需要作出選擇,並顯示For_key和sum總場從表A和B中減去總數,像這樣

For Key Total_A Total_B Substract 
ID1  30  25  5 
ID2  40  30  10 

Sory爲我的英語不好。 和THX的幫助

回答

1

你可以使用子查詢與UNION ALL,以確保您還可以獲得ID值,只有在兩個表中的一個存在:

SELECT For_key, 
     SUM(TotalA) AS Total_A, 
     SUM(TotalB) AS Total_B, 
     SUM(TotalA)-SUM(TotalB) AS Subtract 
FROM  (
      SELECT For_key, Total AS TotalA, 0 AS TotalB 
      FROM A 
      UNION ALL 
      SELECT For_key, 0, Total 
      FROM B 
     ) AS C 
GROUP BY For_key 
相關問題