• 主页
  • 基础类
  • 应用实例
  • 新技术前沿

这个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
应该怎么写?
...全文
107 点赞 收藏 6
写回复
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
回复 点赞
--搞错了,楼主是只要两个表匹配的,应该用这个:

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
回复 点赞
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
回复 点赞
发动态
发帖子
MS-SQL Server
创建于2007-09-28

1.4w+

社区成员

25.3w+

社区内容

MS-SQL Server相关内容讨论专区
社区公告
暂无公告