2017-04-25 37 views
0

这是一个很常见的场景我碰上,我想知道如果有一个简单的方法与SQL解决 -SQL - 获取“记录”没有匹配的字符串列表我有

我有2,000个记录的表吧:

UNIVERSITY 
id, name 

因此,举例来说:

1, UConn 
2, Eastern 
3, Western 
4, Southern 

这时,有人给了我一个Excel工作表,在它的一些大学名称:

Eastern 
Western 
UMass 
MIT 

我需要找出从Excel工作表中这所大学的名字在SQL表中。即从Excel工作表中筛选表中的大学。例如:

UMass 
MIT 

如果我这样做:

SELECT * FROM university WHERE name IN ('Eastern', 'Western', 'UMass', 'MIT') 

我会回来:

2, Eastern 
3, Western 

但其实我什么时候回来就是电子表格那WASN”的东西吨在表中。例如:

UMass 
MIT 

我有没有简单的方法来做到这一点与SQL查询?

+0

你有问题吗?上传Excel到数据库?想在Excel中使用DB?或者在两个表格之间进行比较? –

+0

编辑这个问题,使其更清楚我在问什么。 –

+0

首先将Excel列导入表(https://dev.mysql.com/doc/mysql-for-excel/en/mysql-for-excel-export.html),然后从新表中选择一个不存在的大学表。 – Anand

回答

0

出于懒惰我可能只是将名称从sql粘贴到新工作表中,并使用excel公式找出哪些不在数据库中。

当值不在参考列表中时,返回TRUE

=ISNA(VLOOKUP(A2,Sheet2!A:A,1,FALSE)) 

哪里A2是你正在寻找一个名字和Sheet2!A:A是你从数据库

1

最简单的方法就是上传你的Excel工作表中的一个数据库表,并做了LEFT JOIN

粘贴名称

SQL DEMO

SELECT newUniv.name 
FROM newUniv 
LEFT JOIN University 
    ON newUniv.name = University.name 
WHERE University.name IS NULL; 
相关问题