首页 > 解决方案 > 如何从社会安全号码中获取姓名(内部链接)

问题描述

我有表名为 PERSON 的情况,并且有以下列:

有员工和经理。员工有经理,经理的“价值”显示为社保号。经理没有经理,因此他们的经理值为空。

有了这个,我可以看到员工的姓名和他们的经理社会保险号(经理列不为空):

SELECT LASTNAME + ', ' + FIRSTNAME AS NAME_OF_EMPLOYEE,
MANAGER AS MANAGER_SOCIAL_SECURITY_NUMBER

FROM PERSON

WHERE MANAGER IS NOT NULL

我想得到经理的名字(SOCSECNUM)。所有人都有名字、姓氏和社会安全号码。我必须以某种方式链接它们,但我不知道如何。我希望你明白我的意思:)

标签: mysqlsql

解决方案


存储未加密的社会安全号码来代表员工几乎违反了我所知道的每一条隐私规则。即使在可能不受保护的国家/地区,我也强烈建议对这些表使用人工密钥。

也就是说,您似乎只是想要一个join

SELECT (p.LASTNAME + ', ' + p.FIRSTNAME) AS NAME_OF_EMPLOYEE,
       (pm.LASTNAME + ', ' + pm.FIRSTNAME) AS NAME_OF_MANAGER
FROM PERSON p JOIN
     PERSON pm
     ON pm.SOCSECNUM = p.MANAGER;

推荐阅读