0

我想比较 SQL 中的两列

oldname   newname empid
j11       j12
j12       j13
j13

我想获取已完成某些证书的员工列表。假设 emp1 已完成 j11 证书,但后来证书名称更改为 j12。该员工仍应获得认证。稍后,如果 j12 更改为 j13,则该员工仍应被视为已获得认证。

4

2 回答 2

0

你的表结构应该像 web_bod 所说的那样。您的查询应如下所示:

SELECT employeeid, name FROM
    Employees e INNER JOIN EmployeeCertificates ec ON e.id = ec.employeeId
    INNER JOIN Certificates c ON c.id = ec.certificateId
WHERE Certificates.id = ?
于 2012-05-22T14:01:23.610 回答
0

你应该有三个表:

  1. 员工 (employeeId)
  2. 证书 (certificateId)
  3. EmployeeCertificates(将员工链接到证书)

如果你给员工和证书以及不变的标识符,那么他们的名字是否改变都没有关系(这是你构建关系数据库时的一个重要设计原则)。

于 2012-05-22T13:07:07.903 回答