2014-01-15 83 views
2

我有兩個具有相同字段類型的表。這裏常見的字段是* BG_ID *和商店編號。現在我想要SUM兩列(* total_area *和* total_area_blk *)來自兩個表格,並將它們按BG_ID分組。從兩個不同的表中添加兩列

以下是我的嘗試它不工作:

select t.bg_id, t.store_number,sum(a.total_area),sum(b.total_area_blk) 
from (select bg_id,store_number,total_area 
from temp_Prop_area_block a 
where store_number='33665' 
union all 
select bg_id,store_number,total_area_blk 
from temp_Prop_area_BG b 
where store_number='33665') 

回答

3

希望,這可以幫助你!

SELECT bg_id, store_number, SUM(total_area) 
FROM 
    (
    SELECT bg_id, store_number, total_area as total_area 
    FROM temp_Prop_area_block a 
    WHERE store_number='33665' 
    UNION ALL 
    SELECT bg_id, store_number, total_area_blk as total_area 
    FROM temp_Prop_area_BG b 
    WHERE store_number='33665' 
) my_view 
GROUP BY bg_id, store_number; 
+0

區域字段在兩個表中是不同的。其中一個是total_area,另一個是total_area_blk – Nathan

+0

當我們進行聯合時,結果集將被杵着,列別名將成爲第一個UNION部分的列名稱。所以現在,total_area本身會執行,並且它同時擁有兩個值。已添加別名爲我的查詢可讀性! –

+0

這一個返回沒有輸出。 – Nathan

相關問題