当前位置: 首页 > 知识库问答 >
问题:

查找活动员工的SQL查询

谭炎彬
2023-03-14

Sql查询来查找活动员工。根据employee id列降序对输出进行排序,只获取前15条记录。显示员工id、员工姓名、城市、州、国家、薪资、在职日期、状态、部门名称、经理姓名。雇员姓名:用空格字符连接firstname和lastname并只从雇员姓名中提取前10个字母经理姓名:显示firstname和lastname(用空格分隔)

    null
SELECT b.* FROM (SELECT e.emp_id, SUBSTR(e.emp_fname||' '||e.emp_lname,1,10) AS emp_name, l.city, l.state, l.country, e.emp_sal, e.emp_activefrom, e.emp_status,d.dept_name, d.dept_head  FROM employee e, location l, department d WHERe e.dept_id=d.dept_id AND e.loc_id=l.loc_id AND e.emp_status='Active' ORDER BY 1 desc) b WHERE rownum<=15;

共有1个答案

景恩
2023-03-14

Kazi是正确的,您希望使用joins来执行此操作。但是,在执行联接时,需要对没有经理的员工小心。此外,Oracle在限制行数方面很挑剔--我假设您使用的是基于rownum比较的Oracle。正确的方法使用FETCH FIRST子句。

所以,你似乎在描述这样的事情:

select e.emp_id, substr(e.emp_fname || ' ' || e.emp_lname,1,10) AS emp_name,
       l.city, l.state, l.country,
       e.emp_sal, e.emp_activefrom, e.emp_status,
       d.dept_name, d.dept_head,
       (m.emp_fname || ' ' || m.emp_lname) as manager_name
from employee e join
     department d
     on e.dept_id = d.dept_id join
     location l
     on e.loc_id = l.loc_id left join
     employee m
     on e.Mgrid = m.EmpId
where e.emp_status = 'Active' 
order by e.EmpId desc
fetch first 15 rows only;
 类似资料:
  • 获取会员开卡活动对应卡权益查询,需通过营销中心——会员开卡/续费奖励设置(该活动需开启小果会员或者多卡型会员权益插件开通) 请求参数说明 参数 描述 必填 示例值 类型 最大长度 action 接口参数组 是 object └action 需要调用的接口名称 是 mb_right_list string 请求示例 { "action": { "action": "mb_right_li

  • 问题内容: 我有一个100名员工的员工表。我想编写一个查询来查找具有相同BIRTHDATE的成对雇员。 结果应返回该对中每个雇员的EMPNO,LASTNAME和BIRTHDATE(6列结果表)。 我以为是这样 你认为这是正确的吗? 问题答案: 我会做:

  • 我怀疑我的SQL。 请找到查询 输出显示properly.currently我得到firstname和lastname。但对于某些条目,名和姓为空。我需要修改查询,以便我可以打印列的非空值if(last_id!=0和date(活动)=date(start_date),CONCAT(ag.firstname ,' ‘, ag.lastname ) ,’') 相同的查询,不包括名和姓的空条目。我尝试了

  • 问题内容: 查询以查找负责最大员工人数的经理的姓名? 补充: 这是唯一的表。是自我参照。DB是mysql。递归查询也可以。 问题答案: 我不清楚您想要什么,所以如果这不是您想要的,请澄清您的问题。 如果存在平局,此查询仅返回经理之一: 查询结果: 这是一个查询,该查询在出现并列的情况下以并列的最大数量获取所有经理: 第二个查询的结果: 这是我的测试数据:

  • 任何C#/T-SQL大师可以帮助我吗?我有一个困难的时间试图将这个C#代码转换为T-SQL。 以下是C代码: 以下是实施方案: 这个想法是您有一个列表(C#端的DayOfWeekList),该列表可以填写一周中的任何一天。可能是星期一和星期二,可能是星期二、星期三、星期五和星期六,等等。 有一个传入的DateTime参数正在与该列表进行比较,并根据其在列表中最接近的工作日进行更新。 例如,如果传入

  • 编辑: 这就是我得到的: