Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 无法组合两个查询(子查询)_Mysql_Subquery - Fatal编程技术网

Mysql 无法组合两个查询(子查询)

Mysql 无法组合两个查询(子查询),mysql,subquery,Mysql,Subquery,所以我想做一个查询,显示拥有少于两个订单的员工的经理姓名。我有两个问题: 这张图显示的是订单少于两张的员工 Select Employee.EID FROM Employee, OrderT WHERE Employee.EID = OrderT.EID GROUP BY Employee.EID HAVING COUNT(OrderID) < 2 我正试图将它们结合起来,生成一个子查询,但就我个人而言,我无法理解它。在过去的两个小时里,我一直在尝试不同的事情,但似乎都没能做到。有什么想

所以我想做一个查询,显示拥有少于两个订单的员工的经理姓名。我有两个问题:

这张图显示的是订单少于两张的员工

Select Employee.EID
FROM Employee, OrderT
WHERE Employee.EID = OrderT.EID
GROUP BY Employee.EID
HAVING COUNT(OrderID) < 2

我正试图将它们结合起来,生成一个子查询,但就我个人而言,我无法理解它。在过去的两个小时里,我一直在尝试不同的事情,但似乎都没能做到。有什么想法吗?

只需将经理id添加到第一个查询中,因为经理字段位于employee表中

Select Employee.EID, Employee.ManagerID
FROM Employee, OrderT
WHERE Employee.EID = OrderT.EID
GROUP BY Employee.EID
HAVING COUNT(OrderID) < 2
选择Employee.EID、Employee.ManagerID
来自OrderT的雇员
其中Employee.EID=OrderT.EID
按Employee.EID分组
具有计数(OrderID)<2的

哦,没有误解,我没有限制结果。我需要找到少于两个订单的人,从那里找出谁是他们的经理,这确实显示了employeeID和ManagerID,但是,我只想知道经理的名字,而不是id或employeeID
Select Employee.EID, Employee.ManagerID
FROM Employee, OrderT
WHERE Employee.EID = OrderT.EID
GROUP BY Employee.EID
HAVING COUNT(OrderID) < 2