2014-11-24 97 views
0

我遇到SQL问题。我创建了一家餐厅的数据库,并且我试图创建查询,显示曾经服务过同一客户的主管和员工。SQL查询子查询结构

Employee表有supervisor_idemployee_idOrder表具有与该客户相关联的customer_idemployee_id。我知道这涉及到一个子查询,我知道它会看起来像这样。

SELECT DISTINCT 
     Employee.employee_id, 
     Orders.customer_id, 
     Employee.supervisor_id 
FROM Employee, 
     Orders 
WHERE EXISTS (SELECT customer_id, 
         Employee.employee_id 
       FROM Orders AS cs2, 
         Employee 
       WHERE cs2.employee_id = Employee.employee_id 
         AND Employee.supervisor_id = Employee.employee_id 
         AND cs2.customer_id = Orders.customer_id); 

截至目前,此查询未返回任何结果。

+1

这是MS SQL Server或MySQL的?他们是不同的。 – 2014-11-24 19:57:25

+0

这是Heidi SQL – Emma 2014-11-24 21:31:52

回答

0

可能是这样的:

SELECT a.employee_id, b.customer_id, a.supervisor_id 
FROM Employee a INNER JOIN Orders b ON a.employee_id = b.employee_id 
     INNER JOIN Orders c ON b.customer_id = c.customer_id 
     AND c.employee_id = a.supervisor_id