【问题标题】:MySql Join Issue When Join Two Tables连接两个表时的MySql连接问题
【发布时间】:2019-06-05 19:44:39
【问题描述】:

我对 MySQL join 有一些疑问

我有 2 个表,例如 TableA、TableB

表A的主键是表B的外键

所以我使用内部联接来获取匹配值,但 TableB 有一列用于行激活状态,因此所有活动状态为零意味着我需要获取该记录,否则我需要跳过该记录。

我的查询:。

Select * From TableA a inner join TableB b on a.id=b.aid where b.isActive=0;

如果任何一个值为真,上述查询是返回值

例如,任何一个都是活动行为真。但是我需要检查所有行是否为零,如果它的所有值都为零意味着我需要返回它,那么我该怎么做..?

提前致谢。

【问题讨论】:

    标签: mysql


    【解决方案1】:
    Select a.* 
    From TableA a 
    where not exists(SELECT 1 FROM TableB b WHERE a.id=b.aid AND b.isActive=1);
    

    【讨论】:

      【解决方案2】:

      您可以使用您的查询更改过滤器,如下所示:

      SELECT * FROM TableA a 
      JOIN TableB b ON a.id=b.aid 
      WHERE a.id NOT IN(SELECT aid FROM TableB WHERE isActive=1)
      

      【讨论】:

        猜你喜欢
        • 2010-10-24
        • 1970-01-01
        • 1970-01-01
        • 2011-04-27
        • 2011-04-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多