永发信息网

sql server 两表内查询求和

答案:3  悬赏:0  手机版
解决时间 2021-05-02 14:19
  • 提问者网友:遁入空寂
  • 2021-05-01 22:10

表1

姓名   年龄      工资        性别 

a         30      1000        男

b           28     800          女

c          20      700          男

d           24     600         男

a         30      1000        男

b           28     800          女

c          20      700          男

d           24     600         男

表2

姓名      年龄     奖金       日期

a             30         500        2010

b            28          800         2010

c            20          1000          2010

d              24         1200         2010

a             30         500        2009

b            28          800         2009

c            20          1000          2009

d              24         1200         2009

要求表1和表2   根据年龄合并表,并且根据姓名工资和奖金求和显示内容为

姓名    年龄       工资         资金

a          30          2000       1000       

b          28          1600        1600

c           20          1400        2000

d          24           1200        2400

最佳答案
  • 五星知识达人网友:胯下狙击手
  • 2021-05-01 22:45

--如题建表:
declare @tb_gongzi table

 姓名 varchar(10),
 年龄 int,
 工资 int,
 性别 varchar(5)
)
declare @tb_jiangjin table
(
 姓名 varchar(10),
 年龄 int,
 奖金 int,
 日期 varchar(5)
)
--添加字段:
insert into @tb_gongzi(姓名,年龄,工资,性别)
select '赵大',30,1000,'男'
union all
select '钱二',28,800,'女'
union all
select '孙三',20,700,'男'
union all
select '李四',24,600,'男'
union all
select '赵大',30,1000,'男'
union all
select '钱二',28,800,'女'
union all
select '孙三',20,700,'男'
union all
select '李四',24,600,'男'


insert into @tb_jiangjin(姓名,年龄,奖金,日期)
select '赵大',30,500,'2010'
union all
select '钱二',28,800,'2010'
union all
select '孙三',20,1000,'2010'
union all
select '李四',24,1200,'2010'
union all
select '赵大',30,500,'2009'
union all
select '钱二',28,800,'2009'
union all
select '孙三',20,1000,'2009'
union all
select '李四',24,1200,'2009'


--select * from @tb_gongzi
--select * from @tb_jiangjin


--按要求,查询结果:


select
 gz.姓名,jj.年龄,gz.性别,gz.工资,sum(jj.奖金)奖金 from
(select 姓名,年龄,sum(工资)工资,性别 from @tb_gongzi group by 姓名,年龄,性别) gz
left join @tb_jiangjin jj on gz.姓名=jj.姓名 and gz.年龄=jj.年龄
group by gz.姓名,jj.年龄,gz.性别,gz.工资


--注:复制粘贴出可直接运行,以示结果


--如能解决你的问题,望采纳


--如不能,请再联系.....(QQ|  344196922)

全部回答
  • 1楼网友:拜訪者
  • 2021-05-02 00:38

应该有个ID啥的表示唯一吧?

select sum(姓名),max(年龄),sum(工资),sum(资金) from Table1 ,Table2 group by(姓名)

  • 2楼网友:痴妹与他
  • 2021-05-01 23:20
表一数据就是这样重复的?
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯