【发布时间】:2014-09-19 13:07:25
【问题描述】:
假设我们有一个设计不佳的数据库。
一个managers表和一个employees表,它们是不相关的。
只有一名经理受雇。每个都有一个开始日期和一个结束日期,所以
Emp_begin Emp_end
Man_begin Man_end.
我如何编写一个查询来显示所有已聘用的员工 between '1930-01-01' AND '1960-01-01',以及他们聘用时的经理 (Emp_begin)
将不胜感激任何和所有的帮助
【问题讨论】:
-
搜索 Between 子句 SQL 可能会有所帮助。这是一个您可以使用的持续 SO 问题:stackoverflow.com/questions/25912308/…
-
SELECT EmployeeName FROM employees E LEFT JOIN manager M ON E.ManegerId = M.ManagerId WHERE Emp_begin >= '1930-01-01' AND Emp_end = '1930-01-01' AND Man_end
-
为什么这些不相关?
-
如果没有经理雇用该员工的参考资料,您将无法做到这一点......您需要在员工表上提供 managerId !否则你不能得到真正的结果!
-
@SanRyu,不正确.. 你在这里有你需要的一切。