gwself
gwself
采纳率100%
2016-11-10 11:47

oracle sql查询 急急急

已采纳

有两张表一张emp
一张salary 数据如图
图片说明
查询所有员工最近一个月发的工资数

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

3条回答

  • zhangqifeng006 zhangqifeng006 5年前

    select salary.emp_id,emp.emp_name,salary.emp_month,salary.score from salary,emp where salary.emp_id = emp.emp_id and
    (salary.emp_id,salary.emp_month) in
    (select emp_id,max(emp_month) from salary group by emp_id)

    点赞 评论 复制链接分享
  • guwei4037 极简吧 5年前
    with a as(
    select emp_id,max(emp_month) emp_month,max(score) score from salary group by emp_id)
    
    select b.emp_name,a.emp_month,a.score from a left join emp b on a.emp_id = b.emp_id
    
    
    点赞 评论 复制链接分享
  • W_LIN W_LIN 5年前

    SELECT e.emp_id,e.[emp_name],s.[emp_month], s.score FROM emp e, salary s WHERE e.emp_id=s.emp_id

    点赞 评论 复制链接分享