我对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。但是我需要检查所有行是否为零(如果全部为零)意味着我需要返回该行,那么我该怎么做..?
谢谢。
答案 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)