首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >子记录不总是存在时的MYSQL左连接过滤

问子记录不总是存在时的MYSQL左连接过滤
EN

Stack Overflow用户
提问于 2017-02-25 02:34:41
回答 1查看 107关注 0票数 1

MYSQL

父表

代码语言:javascript
复制
customer
C_Id
First
Last

子表

付款

代码语言:javascript
复制
P_Id
Paid (logical)
C_Id

所有客户记录在支付表中都没有子记录。我想检索所有客户记录,除了那些在支付表where pay = True中有子记录的客户记录。逻辑字段paid中的数据可能是True、False或NULL,因此结果记录集将排除任何已支付的客户。

Left Join为我提供了以下内容:

代码语言:javascript
复制
1 Harry Houdini
2 Johnny Bench
3 Clark Gable     Null
4 John Galt       False
5 Nick Cage       True
6 Casey Cason

期望的结果是

代码语言:javascript
复制
1 Harry Houdini
2 Johnny Bench
3 Clark Gable     Null
4 John Galt       False
6 Casey Cason

此记录不满足条件,因此将其从查询中排除

代码语言:javascript
复制
5 Nick Cage       True
EN

回答 1

Stack Overflow用户

发布于 2017-02-25 03:08:21

尝尝这个

代码语言:javascript
复制
 select * from customer c 
 join payment p 
 on c.c_id = p.c_id where pay = 'false' or pay is NULL;

您无法使用left join获得这些输出,因为使用left join将获得整个table.you可以使用inner join实现这一点

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42445939

复制
相关文章

相似问题

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