首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >比较sql中的列

比较sql中的列
EN

Stack Overflow用户
提问于 2012-05-22 20:59:51
回答 2查看 154关注 0票数 0

我想要比较SQL中的两列

代码语言:javascript
复制
oldname   newname empid
j11       j12
j12       j13
j13

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

EN

回答 2

Stack Overflow用户

发布于 2012-05-22 21:07:08

您应该有三个表:

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

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

票数 0
EN

Stack Overflow用户

发布于 2012-05-22 22:01:24

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

代码语言:javascript
复制
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 = ?
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10702539

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档