比较两行并找出它们在第二列中的差异?

Say*_*akh 4 ms-access

我有一个包含以下数据的表:

ID      Name       LastName
1      William     Johns
2      John        Adam
4      William     Smith
3      Mark        Stephan 
Run Code Online (Sandbox Code Playgroud)

我想找到所有那些名字相同但姓氏不同的记录。所以结果将是这样的:

ID      Name       LasName
1       William     Johns
2       William     Smith
Run Code Online (Sandbox Code Playgroud)

什么是MS。访问查询或方法来查找所有这些记录?

And*_*y M 8

你可以这样改写:

返回存在另一行相同Name和不同的每一行LastName

如果您熟悉 EXISTS 谓词,这很容易转换为 SQL:

SELECT
  *
FROM
  YourTable AS t1
WHERE
  EXISTS
  (
    SELECT
      *
    FROM
      YourTable AS t2
    WHERE
      t2.Name = t1.Name
      AND t2.LastName <> t1.LastName
  )
;
Run Code Online (Sandbox Code Playgroud)