首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何让MySQL查看ID列,以检查具有相同ID的另一行在不同列中是否有值?

如何让MySQL查看ID列,以检查具有相同ID的另一行在不同列中是否有值?
EN

Stack Overflow用户
提问于 2018-04-19 22:22:21
回答 1查看 18关注 0票数 0

我有一张表,看起来像这样

代码语言:javascript
复制
ID     AccountType     Name                Individ
1      O               Acme Company        00
2      P               Joe Smith           00
1                      John Doe            01
1                      Steve Johnson       02
3      P               Shirley Johnson     00
2                      Jane Smith          01
1                      Kevin Lastname      03

所以,O代表组织,P代表个人。表中的子账号与主账号混在一起,同一账号下的子账号ID相同,但账号类型为空。我需要找到一种方法来找到一个AccountType的所有子帐户,不包括个人帐户的子帐户。我尝试了一个内部连接,但是我不能自己连接一个列。

代码语言:javascript
复制
SELECT * FROM <schema.table> 
INNER JOIN <schema.table> ON table.id = table.id 
WHERE accounttype = ('B' OR 'F' OR 'O' OR 'S') AND 
individ != '0' 
GROUP BY 'id';
EN

回答 1

Stack Overflow用户

发布于 2018-04-19 22:51:50

@underscore_d解决了我的问题。我需要为表分配别名,这样才能使数据与自身相关。

代码语言:javascript
复制
SELECT * FROM schema.table AS mbr2 
INNER JOIN schema.table AS mbr1 ON mbr2.id = mbr1.id 
WHERE mbr1.accounttype != 'P' AND 
mbr1.accounttype IS NOT NULL AND 
mbr2.individ != '00' 
GROUP BY mbr1.id;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49923493

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档