我有一个名为EMPLOYEE的表,其中包含以下列。
DESC EMPLOYEE;
+-----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+-------+
| Fname | varchar(15) | NO | | NULL | |
| Minit | char(4) | YES | | NULL | |
| Lname | varchar(15) | NO | | NULL | |
| Ssn | char(9) | NO | PRI | NULL | |
| Bdate | date | YES | | NULL | |
| Address | varchar(50) | YES | | NULL | |
| Sex | char(4) | YES | | NULL | |
| Salary | int(11) | YES | | NULL | |
| Super_ssn | char(9) | YES | MUL | NULL | |
| Dno | int(11) | NO | MUL | NULL | |
+-----------+-------------+------+-----+---------+-------+
Super_ssn是foreign_key,它引用同一个表中的Ssn。我必须得到也是主管的员工的名字和姓氏。我可以通过以下查询实现此目的。
SELECT E.Fname, E.Lname FROM EMPLOYEE E, EMPLOYEE S WHERE S.Super_ssn = E.Ssn;
我希望得到每位主管直接监督的员工总数。我很难搞清楚如何做到这一点。
SELECT E.Fname, E.Lname, COUNT(*)
FROM EMPLOYEE E, EMPLOYEE S WHERE S.Super_ssn = E.Ssn GROUP_BY E.Ssn;
我确信我上面做的是错的。有人能帮我吗?。提前谢谢。