首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL -返回没有来自两个表的两个值的行

MySQL -返回没有来自两个表的两个值的行
EN

Stack Overflow用户
提问于 2017-08-30 23:28:02
回答 1查看 51关注 0票数 1

以下是数据:

tbl_apples

代码语言:javascript
复制
  Name    | Fruit   
+=========+========+

  James   | Apple   
  Marie   | Apple   

tbl_bananas

代码语言:javascript
复制
  Name    | Fruit   
+=========+========+

  James   | Banana
  Timothy | Banana    
  Kevin   | Banana  

我想退回所有没有同时买苹果和香蕉的名字。因此,在这种情况下,它将是除James之外的所有人。对于海量数据集(以百万计),有没有简单的方法可以做到这一点?如果可能的话,我希望能够退还那些只买苹果而不买香蕉,或者买了香蕉而不买苹果的人。编辑:看起来它可能需要一个连接,因为我刚刚发现香蕉数据和苹果数据存储在两个不同的表中。那么,我如何才能集中展示它们,然后找出谁只买了其中一个呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-30 23:32:16

您可以通过统一这些表来完成此操作:

代码语言:javascript
复制
select  t.name
from (
    select  a.name, 'Apple' as fruit
    from    tbl_apples a
    union
    select  b.name, 'Banana' as fruit
    from    tbl_bananas b ) t
group by t.name
having count(distinct fruit) < 2
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45964368

复制
相关文章

相似问题

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