如圖,a,b表的欄位一樣,想把a,b表的資料匯總成c表一樣,但是匯總后資料不對,我的sql是這樣寫的:
select a.hcard,count(a.hcard),sum(a.sfje),count(b.hcacd),sum(b.sfje)
from a,b
where a.hcard=b.hcard
group by a.hcard;
求大神指導
uj5u.com熱心網友回復:
select a.hcard,count(a.hcard),sum(a.sfje),count(b.hcacd),sum(b.sfje)from
(select hcard,count(hcard),sum(sfje),
from a
group by a.hcard) a,
(select hcard,count(hcard),sum(sfje),
from b
group by a.hcard) b
where a.hcard=b.hcard
;
uj5u.com熱心網友回復:
肯定不對的,你這種寫法相當于inner join,會遺漏資料,應該union all以后再聚合uj5u.com熱心網友回復:
inner join就是會重復統計嗎
uj5u.com熱心網友回復:
select nvl(a.hcard,b.hcard) hcard,count(a.hcard),sum(a.sfje),count(b.hcacd),sum(b.sfje)from a full join b
on a.hcard=b.hcard
group by a.hcard;
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/267766.html
標籤:開發
上一篇:set @sql='insert into ftable(fieldname, oldval, newval)
下一篇:如何給賬號和有效標志加唯一索引
