mysql - 公司数据库中的客户和分支机构查询

标签 mysql sql database

我的数据库中有以下四个表:

员工

PK: employeeID;     
FK: empBranch references BRANCH;
FK: empSupervisor references EMPLOYEE

enter image description here

分支机构

PK: branchNumber
FK: branchManager references EMPLOYEE

enter image description here

客户

PK: customerID

enter image description here

订单

PK: orderNumber
FK: customerID references CUSTOMER; 
FK: salesPerson references EMPLOYEE

enter image description here

现在我需要列出这两件事:

  1. 仅向与销售人员分支机构所在城市位于同一城市的客户进行销售的销售人员的 Employee_ID 和姓名。

  2. 向与销售人员分支机构所在城市位于同一城市的每位客户进行过销售的销售人员的 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/

相关文章:

mysql ADDTIME 不工作

mysql - 删除出现空值的字段

sql - 要求是否在条件SQL

android - RecipeApp 的 SQLite 数据库(一对多关系)

android - 如何在android中的sqlite中创建多个表?

database - 如何在 postgres 中将时区永久更改为 UTC?

python - sqlPython : How to sort database before opening?

mysql - 如何在事务中包装 mysql 存储函数

sql - 使用 visio 2007,如何表示触发器和存储过程?

SQLite 和多次写入