【问题标题】:How to get other column records with the ID in SQL如何在SQL中获取具有ID的其他列记录
【发布时间】:2019-12-15 21:52:39
【问题描述】:

我是 mySQL 编码的新手,我是自己搞定的。

我正在尝试使用经理 ID 获取员工数据(姓名、出生日期等)。所以我有一个包含所有经理信息(如 managerID、姓名、dob、薪水等)的 manager 表和一个包含 emp 信息(如 empID、name、salary、dob 和 managerID)的员工表。因此,如果我想使用 managerID 获取 emp 详细信息,我该如何在 mysql 中进行呢?

经理

CREATE TABLE manager
(managerid      CHAR(4)     NOT NULL,
mfname      VARCHAR(15)     NOT NULL,
mlname      VARCHAR(15)     NOT NULL,
mbdate      DATE        NOT NULL,
msalary     NUMERIC(9,2)    NOT NULL,
mbonus      NUMERIC(9,2),
mresbuildingid  CHAR(3),        
PRIMARY KEY (managerid) );

员工

CREATE TABLE employee
(empid      CHAR(3)     NOT NULL,
efname      VARCHAR(15)     NOT NULL,
elname      VARCHAR(15)     NOT NULL,
ebdate      DATE        NOT NULL,
esalary     NUMERIC(9,2)    NOT NULL,

PRIMARY KEY (empid),
FOREIGN KEY (buildingid) REFERENCES building(buildingid),
FOREIGN KEY (ccid) REFERENCES corpclient(ccid) )
FOREIGN KEY (managerid) REFERENCES Manager(managerid);\

建筑

CREATE TABLE building
(   buildingid  CHAR(3)     NOT NULL,
bmlocation CHAR NOT NULL,
bmanagerid      CHAR(4)     NOT NULL,
PRIMARY KEY (buildingid),
FOREIGN KEY (bmanagerid) REFERENCES manager(managerid) );

【问题讨论】:

  • 请分享您的表结构和它们之间的关系。

标签: mysql mysql-workbench


【解决方案1】:

你只需要选择它:

SELECT * FROM employee WHERE managerid = 1

【讨论】:

  • 是的,我得到了那个部分。所以我有另一个名为 building 的表,它有 buildingID、location 和 managerID。这显示了经理的位置。我有一个疑问,比如在他/她手下拥有最多 emp 的经理的位置是什么。我该如何编码?就像,emp 表同时具有 manager id 和 building id。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-16
  • 2018-11-13
  • 1970-01-01
  • 2020-07-28
  • 2022-01-22
相关资源
最近更新 更多