mysql 查找表列中不存在的所有字符串

vpfxa7rd  于 2023-06-21  发布在  Mysql
关注(0)|答案(2)|浏览(146)

我有一个338个字符串的列表,如下所示:

013705
013707
013708
013709

如何获取所有存在于我的表/列中的字符串:tblclients.clientID
我尝试了以下方法:

SELECT clientID FROM tblclients WHERE clientID NOT IN (
000100,
000834,
001855,
etc...)

但这只会返回表中不存在于字符串列表中的值。我需要相反的东西:字符串从我的列表中,不存在于表中。我想知道这是否可能与SQL或如果我需要以某种方式使用Excel...?

bihw5rsg

bihw5rsg1#

如果你要测试的数字是YourNumbers的,那么你可以像这样运行一个查询:

SELECT clientID 
FROM YourNumbers y
LEFT JOIN TblClients t ON y.clientID = t.clientID
WHERE clientID IS NULL
mum43rcc

mum43rcc2#

我这里也有同样的案子。。
如果数据库支持公共表表达式,并且没有太多的值需要检查:

create table reftable (
   pkey int not null primary key,
   name varchar(40)
);
insert into reftable values ( 101, 'aaaaa' );
insert into reftable values ( 103, 'bbbbbb' );

with checklist as
(
select 101 c1
 union
select 102 c1
 union
select 103 c1
 union
select 104 c1
)
select c1 from checklist
   where c1 not in (select pkey from reftable);

还在寻找更好的解决方案……

相关问题