连接两个表时的MySql连接问题

时间:2019-06-05 19:44:39

标签: mysql

我对MySQL连接有疑问

我有2个表,例如TableA,TableB

TableA主键是表B的外键

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

我的查询:

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

如果任何一个值为true,则上述查询为返回值

例如,其中任何一个为活动行true。但是我需要检查所有行是否为零(如果全部为零)意味着我需要返回该行,那么我该怎么做..?

谢谢。

2 个答案:

答案 0 :(得分:0)

Select a.* 
From TableA a 
where not exists(SELECT 1 FROM TableB b WHERE a.id=b.aid AND b.isActive=1);

答案 1 :(得分:0)

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

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