求一条sql语句 两张表两个字段sum求和

求一条sql语句两张表两个字段sum求和表a姓名销售业绩张三5万李四10万王五7万张三2万李四6万王五3万表b姓名工作年限张三5年李四10年王五7年张三5年李四10年王五... 求一条sql语句 两张表两个字段sum求和
表a
姓名 销售业绩
张三 5万
李四 10万
王五 7万
张三 2万
李四 6万
王五 3万
表b
姓名 工作年限
张三 5年
李四 10年
王五 7年
张三 5年
李四 10年
王五 9年
期待显示结果
姓名 工作年限 销售业绩
张三 10年 7万
李四 20年 16万
王五 16年 10万
展开
 我来答
百度网友2dca20d
推荐于2016-01-22 · TA获得超过4036个赞
知道大有可为答主
回答量:2638
采纳率:77%
帮助的人:1031万
展开全部
select B.*,销售业绩 from (select 姓名,cast(sum(cast(replace(销售业绩,'万','') as float)) as varchar(10))+'万' 销售业绩 from 表a group by 姓名) A
 JOIN (select 姓名,cast(sum(cast(replace(工作年限,'年','') as float)) as varchar(10))+'年' 工作年限 from 表b group by 姓名) B
  ON A.姓名=B.姓名
追问

追答

上面是SQL Server写法,Oracle中这样写:

Select B.*,销售业绩 From (Select 姓名,Sum(to_number(Replace(销售业绩,'万','')))||'万' 销售业绩 From 表a Group By 姓名) A
 JOIN (select 姓名,sum(to_number(replace(工作年限,'年','')))||'年' 工作年限 from 表b group by 姓名) B
  ON A.姓名=B.姓名
yly_fly
2015-01-18 · TA获得超过1623个赞
知道大有可为答主
回答量:1441
采纳率:63%
帮助的人:709万
展开全部
select 表a.姓名,sum(表b.工作年限) as 工作年限,sum(表a.销售业绩)as 销售业绩 from 表a left join 表b on 表a.姓名=表b.姓名 group by 姓名
更多追问追答
追问
您好 之前我写的语法和您类似 但不能得到正确的求和 我不知道为什么 您的语句也不能得到正确的结果
追答
那是因为你的表格里面销售业绩和工作年限两个字段都不是数值型,不能求和,在原始表里改字段类型才行,至于万和年字查询结果再添加。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式