如果可能的话,我没有任何运气试图解决这个问题或涉及什么类型的声明。
我正在处理公司标准的'员工'数据库。 db具有USER_ID和SUPERVISOR_ID的字段。没有字段表明员工是否是主管或是否有下属。了解员工是否有下属的唯一方法是,如果任何其他记录的员工的USER_ID在其SUPERVISOR_ID字段中。
我需要基于first_name / last_name的查询,该查询仅返回具有下属的员工。
SELECT * from employees e
WHERE e.first_name LIKE '%<first_name_string>%'
AND e.last_name LIKE '%<last_name_string>%'
*(and where at least one record lists this USER_ID in it's SUPERVISOR_ID field
)
感谢您的帮助!
答案 0 :(得分:2)
SELECT * from employees e
WHERE e.first_name LIKE '%<first_name_string>%'
AND e.last_name LIKE '%<last_name_string>%'
AND (SELECT COUNT(*) FROM employees WHERE employees.SUPERVISOR_ID = e.USER_ID) > 0)
答案 1 :(得分:1)
select * from employees e
where e.first_name LIKE '%firstnamestring%'
AND e.last_name LIKE '%lastnamestring%'
AND (e.USER_ID in
(select SUPERVISOR_ID from employees))
试试这个。