1表字段:AA, 数量a,数量b,数量c
2表字段:AA, 数量d,数量e,数量f
3表字段:AA, 数量g, 数量h,数量k
三表通过AA 匹配,AA的值在任意表中都不是唯一的,但是有可能1表中有的AA值在2或3表中不存在记录,2表3表同样如此
要求:
①:数量a等字段各自SUM汇总,按AA分组
②:只要在三表任意一表中有记录AA值就要查出来 也汇总 为空的补0或者空,而不是只汇总在三表中同时都存在的AA值记录
跪求高手解答
三个表连接查询并汇总
答案:2 悬赏:50 手机版
解决时间 2021-04-10 20:11
- 提问者网友:太高姿态
- 2021-04-10 16:16
最佳答案
- 五星知识达人网友:封刀令
- 2021-04-10 17:49
select a.aa,
sum(t1.数量a),sum(t1.数量b),sum(t1.数量c),
sum(t2.数量d),sum(t2.数量e),sum(t2.数量f),
sum(t3.数量g),sum(t3.数量h),sum(t3.数量k),
(select aa from t1
union
select aa from t2
union
select aa from t3
) ta
left outer join t1 on ta.aa = t1.aa
left outer join t2 on ta.aa = t2.aa
left outer join t3 on ta.aa = t3aa
group by ta.aa
sum(t1.数量a),sum(t1.数量b),sum(t1.数量c),
sum(t2.数量d),sum(t2.数量e),sum(t2.数量f),
sum(t3.数量g),sum(t3.数量h),sum(t3.数量k),
(select aa from t1
union
select aa from t2
union
select aa from t3
) ta
left outer join t1 on ta.aa = t1.aa
left outer join t2 on ta.aa = t2.aa
left outer join t3 on ta.aa = t3aa
group by ta.aa
全部回答
- 1楼网友:酒者煙囻
- 2021-04-10 18:29
首先分析下你的表结构
a 表存储的id,text两字段,
c 表存储的id,woyaode两个字段。
两张表之间没有关联,所有的关系存储在b表中
让我们先找出a,b两张表之间的关联
select aid from b where aid=(select aid from a) 可以知道存储在表b中有关a表的 信息
检索b和c之间的关系如上
最后就可以通过等值连接inner join来进行
select a.aid,a.text,c.woyaode from a
inner join b on a.aid = b.aid
inner join c on b.cid = c.cid
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯