我的数据库中有以下四个表:
员工
PK: employeeID;
FK: empBranch references BRANCH;
FK: empSupervisor references EMPLOYEE
分支机构
PK: branchNumber
FK: branchManager references EMPLOYEE
客户
PK: customerID
订单
PK: orderNumber
FK: customerID references CUSTOMER;
FK: salesPerson references EMPLOYEE
现在我需要列出这两件事:
仅向与销售人员分支机构所在城市位于同一城市的客户进行销售的销售人员的 Employee_ID 和姓名。
向与销售人员分支机构所在城市位于同一城市的每位客户进行过销售的销售人员的 Employee_ID 和姓名。
请帮我回答这两个问题
最佳答案
仅向与销售人员分支机构所在城市位于同一城市的客户进行销售的销售人员的 Employee_ID 和姓名。
SELECT DISTINCT
e.employeeid,
e.emplname || e.empfname AS salesperson_name
FROM
orders o
INNER JOIN customer c ON o.customerid = c.customerid
INNER JOIN branch b ON o.salesperson = b.branchmanager
INNER JOIN employee e ON o.salesperson = e.employeeid
WHERE
c.custcity = b.branchcity -- salesperson's branch located in the same city as customer
关于mysql - 公司数据库中的客户和分支机构查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29869287/