You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用MySQL基于ID列筛选组织类账户子账户并排除个人类子账户

我来帮你解决这个问题,先明确需求:我们需要从表格里筛选出组织类主账户(AccountType='O')对应的子账户——也就是那些和主账户ID相同、但AccountType为空的行,同时排除个人类主账户(AccountType='P')的子账户。

首先先把你的源数据整理成更清晰的表格:

源表格数据

IDAccountTypeNameIndivid
1OAcme Company00
2PJoe Smith00
1John Doe01
1Steve Johnson02
3PShirley Johnson00
2Jane Smith01
1Kevin Lastname03

下面提供两种高效的MySQL实现方案:

方案一:子查询筛选组织类主账户ID

SELECT t.*
FROM your_table_name t
WHERE t.AccountType IS NULL 
  AND t.ID IN (
    SELECT DISTINCT ID 
    FROM your_table_name 
    WHERE AccountType = 'O'
  );

逻辑解释:

  1. 子查询先提取所有组织类主账户的唯一ID(这里就是ID=1);
  2. 外层查询筛选出「AccountType为空(子账户特征)」且「ID属于组织类主账户ID列表」的行,精准定位目标子账户。

方案二:JOIN关联主账户信息

SELECT t.*
FROM your_table_name t
JOIN your_table_name main_account 
  ON t.ID = main_account.ID
WHERE t.AccountType IS NULL 
  AND main_account.AccountType = 'O';

逻辑解释:

  1. 通过JOIN将每一行与同ID的主账户行关联;
  2. 同时筛选两个条件:当前行是子账户(AccountType为空),且关联的主账户是组织类型(AccountType='O')。

执行结果

用你的源数据运行上述任意SQL,都会得到以下目标子账户:

IDAccountTypeNameIndivid
1John Doe01
1Steve Johnson02
1Kevin Lastname03

内容的提问来源于stack exchange,提问作者Tim N

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 07:05:38