我目前有一个员工数据库,可以在我们的网站上显示员工联系信息。我还有一个我们公司提供的所有服务的数据库。每个员工都会执行一项或多项特定服务。我如何将每个员工与他们执行的不同服务联系起来?
答案 0 :(得分:2)
您可以添加第三个表作为Join表,该表将包含employee和service表条目的键。每个员工在联接表中可能有多行,具体取决于他们提供的服务数量。
答案 1 :(得分:1)
你可以:
CREATE TABLE `employees_services`(
`employee_id` INT NOT NULL ,
`service_id` INT NOT NULL ,
PRIMARY KEY (`employee_id`, `service_id`)
)
然后当您需要员工的所有服务时:
SELECT * FROM `employees` AS e
INNER JOIN `employees_services` AS es ON e.id = es.employee_id
WHERE ...
或当您需要所有员工提供服务时:
SELECT * FROM `services` AS s
LEFT JOIN `employees_services` AS es ON s.id = es.service_id
WHERE ..