feiyuwuhen1
2015-08-27 02:28
采纳率: 50%
浏览 2.8k

sql两表联合计算求助~

图片说明图片说明
表一表二如图~
现在想写一条sql语句来通过某一人的工作证号,如张三的123,来查出他所有的称号代码也就是4.5.6;然后根据表二的称号代码来查出代码对应的“研究生支持人数”和“研究生支持年限”,二者相乘得出一个数,然后将这一个人所有这样两两相乘得出来的数累加起来,得出一个最后结果; 比如我查询张三,他的最后结果就是:1*1+2*3+1*1=8;我查李四的最后结果就是:1*1+2*3+1*1+1*1=9; 大概就是这样,求问sql语句怎么写~

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • Sunny陈 2015-08-27 02:48
    已采纳

    select sum(年限*人数) from table2
    where 称号代码 in
    (
    select 称号代码 from table1 where 姓名='李四'
    );

    打赏 评论
  • 紫气天堂 2015-08-27 02:42

    select t.姓名,t.称号,m.年,m.ren ,(m.年*m.ren) as score from 表一 t,表二 m where t.姓名 = 张三 and t.称号 = m.称号 这是得到对应的分数,最后的分数相加你可以自己写

    打赏 评论
  • yuke198907 2015-08-27 05:56

    先left join,然后在sum求和即可

    打赏 评论
  • select t1.name,sum(t2.year*t2.peoples) from usertable t1 inner join chtable t2 on t1.ch_id=t2.ch_id where t1.name='李四' group by t1.name

    打赏 评论

相关推荐 更多相似问题