我分别有两张桌子Table_Employee,Table_Department我想选择属于员工三次以上的经理,并且还想要显示贱人姓名.
此任务必须在单个查询中完成.做起来容易吗?这是我的表结构.
这里Column_Empno将是Column_Manager,这意味着该表是自引用
Table_Employee
Column_Empno int
Column_Fname varchar(50)
Column_Lname varchar(50)
Column_Job varchar(50)
Column_Manager int
Column_HireDate date
Column_Salary int
Column_Commision int
Column_DeptNo int
Table_Department
Column_DeptNo int
Column_Dname varchar(50)
Column_Location varchar(50)
Run Code Online (Sandbox Code Playgroud)
经理+部门:
SELECT Column_Fname, Column_Lname, table_Department.Column_Dname
FROM Table_Employee
INNER JOIN table_Department ON Table_Employee.Column_DeptNo = table_Department.Column_DeptNo
Run Code Online (Sandbox Code Playgroud)
或者你也可以写:
SELECT Column_Fname, Column_Lname, table_Department.Column_Dname
FROM Table_Employee
WHERE Table_Employee.Column_DeptNo = table_Department.Column_DeptNo
Run Code Online (Sandbox Code Playgroud)
它没有经过测试.顺便说一句,为什么你将你的Colums命名为"Column _..."而不仅仅是"Fname","Lname",......以及你的表"Table _...."而不仅仅是"Employee"和"Department" ?
小智 5
select
t1.column_manager,
t2.column_dname
from
(
select column_manager, column_deptno = max(column_deptno)
from table_employee
group by column_manager
having count(*) > 3
) t1
join table_department t2 on t1.column_deptno = t2.column_deptno
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
66106 次 |
| 最近记录: |