我想比较SQL中的两列
oldname newname empid
j11 j12
j12 j13
j13
我想获取已完成某些证书的员工列表。假设 emp1 已经完成了 j11 证书,但后来证书名称更改为 j12。该员工仍应获得认证。稍后,如果 j12 更改为 j13,该员工仍应被视为已获得认证。
您应该有三个表:
- 员工
- (员工 ID( 证书
- (证书 ID( 员工证书
- (将员工链接到证书(
如果您为员工、证书和固定标识符提供,那么他们的名字是否更改并不重要(这是构建关系数据库时的重要设计原则(。
你的表结构应该看起来像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 = ?