我想基于不同列(例如ColumnB)的行之一的值,返回columnA上具有相同id的所有行。联接表的结果如下所示,我想返回所有没有至少一个我要查找的值实例的结果。
在下面的示例中,我要列出所有尚未联系的组织,这意味着ConStatus列中的组织名称或ID的值不为“ Contacted”。
答案 0 :(得分:0)
您可以使用Subquery
SELECT *
FROM table
WHERE OrgId NOT IN (
SELECT DISTINCT OrgId
FROM table
WHERE ConStatus = 'Contacted'
)
子查询将获取所有已联系的组织ID。然后,使用NOT IN
排除这些ID,以获得从未联系过的ID。
答案 1 :(得分:0)
您可以尝试将相关子查询与not exists
一起使用
select * from tablename a
where not exists
(select 1 from tablename b where a.orgid=b.orgid and ConStatus = 'Contacted')
答案 2 :(得分:0)
尝试这个。
SELECT *
FROM table
WHERE OrgId NOT IN (
SELECT OrgId
FROM table
WHERE ConStatus = 'Contacted'
)