我想要比较SQL中的两列
oldname newname empid
j11 j12
j12 j13
j13我想获取已完成某些证书的员工列表。假设emp1已经完成了j11证书,但后来证书名称更改为j12。该员工仍应获得认证。稍后,如果j12更改为j13,则该员工仍应被视为已通过认证。
发布于 2012-05-22 21:07:08
您应该有三个表:
如果你给雇员、证书和不变标识符,那么他们的名字是否改变都无关紧要(这是构建关系数据库时的一个重要设计原则)。
发布于 2012-05-22 22:01:24
您的表结构应该像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 = ?https://stackoverflow.com/questions/10702539
复制相似问题