我有两个表employee表和分支表。 Employee表包含所有信息,如empid,名称,工资,datehired,branchcode,supervisor和我的分支表包含分支代码,名称,预算和城镇。我的问题是你如何列出超过5名员工的分支机构(仅限分支机构代码)?聪明的人有想法吗?
答案 0 :(得分:1)
如果您只想要拥有超过5名员工的分支代码,而没有其他分支机构信息,您可以这样做:
SELECT branchcode
FROM employee
GROUP BY branchcode
HAVING COUNT(*) > 5;
答案 1 :(得分:0)
我确实认为以下问题是您的目标:
SELECT b.branchcode
FROM employee AS e
INNER JOIN branch AS b
ON e.branchcode = b.branchcode
GROUP BY b.branchcode
HAVING COUNT(*) > 5
您另外要求:
我有一张表,其中包含empid,名称,工资,雇用,职位和主管(其中包括empid而不是名称)如何列出所有主管的empid和名称?输出必须有列supervisor(及其emid列表)及其名称。
我的补充答案:
我并不完全明白你在说什么,但也许这会有所帮助:
SELECT e1.empid AS EmpID, e1.name AS EmpName,
e2.empid AS SupervisorID, e2.name AS SupervisorName
FROM mytable AS m
INNER JOIN employee AS e1 ON m.empid = e1.empid
INNER JOIN employee AS e2 ON m.supervisor = e2.empid
我不知道您所引用的表的名称,因此在上面的示例中我使用的是mytable
。这假定supervisor是empid
表中employee
的外键。如果没有,它实际上包含主管名称,那么您可以删除第二个加入员工表并直接选择m.supervisor
。