我在一所大学工作,我被分配对开发人员进行更改的逻辑进行一些测试。
我需要什么:我需要一个 SQL Server 查询,它可以查看 Persons 表并查找具有相同社会安全号码最后四位数字的记录。除此之外,我还想看看这些记录(SSN 的后四位相同)是否也具有相同的姓氏。
这是我到目前为止所拥有的:
--我对 SQL 很陌生,所以我一直想弄清楚我如何只能比较 SSN 的最后四位数字,并找到具有相同 SSN 的最后四位数字和相同姓氏的学生。
SELECT t1.PersonsID,
t1.LastName,
t1.GovernmentID,
t2.PersonsID,
t2.LastName,
t2.GovernmentID
FROM Persons t1, Persons t2
WHERE t1.GovernmentID = t2.GovernmentID
AND t1.PersonsID <> t2.PersonsID
任何帮助,将不胜感激。
谢谢!
看了乔说的话,我又做了一次尝试:
SELECT
t1.cmn_personsID,
t1.governmentID,
t1.lastname,
t2.cmn_personsID,
t2.governmentID,
t2.lastname,
case when t1.LastName = t2.lastName then 1 else 0 end as SameLastName
from
CMN_Persons t1, cmn_persons t2
WHERE right(t1.GovernmentID, 4) = right(t2.GovernmentID, 4)
AND t1.cmn_PersonsID <> t2.cmn_PersonsID
这东西已经运行了五分钟了。当我尝试使用前 10 名时,它似乎并没有给我政府 ID 的最后四位数字相同且姓氏相同的用户。