这个sql语句应该怎么写?

blldw 2004-11-07 04:48:01
假设有如下两个表A和B,里面内容如下:
A表内容:
字段名1 字段名2
a 1
b 2
a 2
c 3
c 2
d 1
B表内容:
字段名1 字段名3
a 1
c 2
d 3
e 4
c 5
如果将A表内容按 字段名1 进行分组的话,得到如下结果
字段名1 字段名2
a 3
b 2
c 5
d 1
同样,B表按 字段名1 进行分组得如下结果
字段名1 字段名3
a 1
c 7
d 3
e 4
我想通过一条sql语句得如下结果:
字段名1 字段名2 字段名3
a 3 1
c 5 7
d 1 3
应该怎么写?
...全文
188 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
davorsuker39 2004-11-08
  • 打赏
  • 举报
回复
select A.字段名1,A.字段名2,B.字段名3
from(select 字段名1,字段名2=sum(字段名2) from A表 group by 字段名1) AS A JOIN
(select 字段名1,字段名3=sum(字段名3) from B表 group by 字段名1 ) AS B
ON A.字段名1=B.字段名1
linguicheng 2004-11-08
  • 打赏
  • 举报
回复
楼上都可以,:)
cloudchen 2004-11-07
  • 打赏
  • 举报
回复
select a.field1,a.field2,b.field3 from (select field1,field2=sum(field2) from a group by field1) a join (select field1,field3=sum(field2) from b group by field1) b
on a.field1 = b.field1
solidpanther 2004-11-07
  • 打赏
  • 举报
回复
SELECT T1.字段名1,T1.字段名2,T2.字段名2 FROM (
select 字段名1,sum(字段名2) as 字段名2 from A GROUP BY 字段名1) T1,
(select 字段名1,sum(字段名3) as 字段名3 from B GROUP BY 字段名1) T2
WHERE T1.字段名1=T2.字段名1
zjcxc 元老 2004-11-07
  • 打赏
  • 举报
回复
--搞错了,楼主是只要两个表匹配的,应该用这个:

select a.字段名1,a.字段名2,b.字段名3
from(
select 字段名1,字段名2=sum(字段名2) from A表 group by 字段名1
)a,(
select 字段名1,字段名3=sum(字段名3) from A表 group by 字段名1
)b where a.字段名1=b.字段名1
zjcxc 元老 2004-11-07
  • 打赏
  • 举报
回复
select 字段名1,字段名2=sum(字段名2),字段名3=sum(字段名3)
from(
select 字段名1,字段名2,字段名3=0 from A表
union all
select 字段名1,字段名2=0,字段名3 from B表
)a group by 字段名1

34,838

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧