表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
--如题建表:
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)
应该有个ID啥的表示唯一吧?
select sum(姓名),max(年龄),sum(工资),sum(资金) from Table1 ,Table2 group by(姓名)
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息