2014-01-15 48 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

相关问题