表A中的SQL查找不在查询B中

时间:2014-11-26 19:23:05

标签: sql

我想找到表A中所有没有任何“活跃”的公司。表B中的位置.Active表示Active标志设置为true。

表A. ID:整数 客户名称:字符串 活动:布尔值

表B. ID:整数 LocationName:string TABLEA_ID:整数 活动:布尔值

表B中的某些记录包含同一客户的有效和无效位置。我想知道表A中哪些客户在表B中没有任何有效位置。

2 个答案:

答案 0 :(得分:0)

这是一种标准类型的查询。以下是left join方法:

select a.*
from a left join
     b
     on b.tablea_id = a.id and b.active = true
where b.id is null;

b.active = true的确切语法可能因数据库而异。

答案 1 :(得分:0)

您需要在表格之间执行JOIN,例如

select t1.id,t1.CustomerName, t2.LocationName
from tablea t1 join tableb t2 on t1.ID = t2.TABLEA_ID
where t2.Active = false;