当前位置: 首页 > 知识库问答 >
问题:

按名字和姓氏查找重复记录

祖奇
2023-03-14

我有一张名为“有益”的表。关于它的一些事实:

  • 受益人属于一个组织
  • 一个组织有许多有益的
  • 受益人有名字和姓氏,没有其他身份证明形式

表中的一些示例数据

| id | firstname | lastname | organization_id |
|----|-----------|----------|-----------------|
| 1  | jan       | kowalski | 1               |
| 2  | jan       | kovalski | 3               |
| 3  | john      | doe      | 1               |
| 4  | jan       | kowalski | 2               |

我想通过名字和姓氏查找来自某个组织的有益信息是否也存在于其他组织中,如果是,我想获取组织ID。

在上面的示例数据中,我想要的是给定组织id1,查询应该返回2,因为jan kowalski对组织也有好处2但不是3因为即使它们匹配名字,它们也不匹配姓氏

我提出了以下问题:

with org_beneficials as (
  select firstname, lastname from beneficials where organization_id = ? and deleted_at is null
)
select organization_id from beneficials 
    where firstname in (select firstname from org_beneficials)
    and lastname in (select lastname from org_beneficials)
    and deleted_at is null
    and organization_id <> ?;

它有点工作,但如果来自不同的组织共享相同的名字或姓氏,则会返回一些误报。我需要匹配名字和姓氏,但我不知道如何匹配。

我想过加入表格本身,但我不确定这是否可行,因为一个组织有很多好处。添加像fullname这样的列不是我想在这里做的事情

共有1个答案

梁和颂
2023-03-14

您可以按名字和姓氏分组,然后过滤重复项

SELECT firstname, lastname 
FROM beneficials
GROUP BY  firstname, lastname 
HAVING COUNT(*) > 1;

编辑后,您似乎希望选择给定组织中也出现在其他组织中的人员的记录

SELECT *
FROM beneficials a
WHERE a.organization_id != 1
AND EXISTS (
    SELECT 1 
    FROM beneficials b
    WHERE a.firstname = b.firstname
     AND a.lastname = b.lastname
     AND b.organization_id = 1
    );
 类似资料:
  • 我需要帮助来分别获得名字和姓氏。 字段为[全名]:Halsey S Dunn 我可以单独获得名字,但无法单独获得姓氏: 这是我的名字和姓氏代码: 我的结果需要是:

  • 问题内容: 我有一个客户列表,其名称为全名。我想创建一个将全名作为参数并分别返回名字和姓氏的函数。如果不可能,我可以有两个单独的函数,一个返回名字,另一个返回姓氏。全名列表包含最多三个单词的名称。我想要的是: 全名由两个词组成时。第一个应该是名称,第二个应该是姓氏。 当一个全名由三个词组成时。第一个单词和中间单词应为名字,第三个单词应为姓氏。 例子:- 结果:- 我搜索并找到了无法按预期运行的解决

  • 谁能告诉我如何从表单字段中检索firstname和lastname的值。条件是名和姓写在同一文本字段中,并用(空格)分隔。我需要得到它的价值。 普朗克尔

  • 我的一个Java类分配要求我对多维字符串数组进行排序。它还需要输入您是想按名字排序还是按姓氏排序。我不太理解这个问题的措辞,也就是主要的排序和粗体部分,所以我会把它贴在这里。 编写一个程序,使用以下标题对二维数组进行排序: 该方法应先对行执行主排序,然后对列执行主排序。 使用以下数据测试您的程序: 您的程序应该询问您是希望数组按名字排序还是按最后一个sName排序。 数组中的行将包含名字。sort

  • 本文向大家介绍使用JavaScript拆分名字和姓氏?,包括了使用JavaScript拆分名字和姓氏?的使用技巧和注意事项,需要的朋友参考一下 假设以下是我们的名称字符串- 使用分割名字和姓氏。以下是代码- 示例 要运行上述程序,您需要使用以下命令- 输出结果 在这里,我的文件名为demo163.js。这将产生以下输出-

  • 我有两个字段FirstName和LastName存储在MongoDB中。从前端,我接收到一个字符串,包含名字和姓氏,用空格分隔,我需要一个查找查询,搜索名字和姓氏的组合。