SQL从* where * txt / csv列表中选择*

时间:2018-07-07 19:33:26

标签: sql postgresql

我有一个csv,其中包含一个对我有用的特定ID的列表。我想从一个表中进行查询(将其称为“朋友”),以获取与csv中包含的ID成为“朋友”的所有ID。我知道您可以查询

SELECT id,friend_id 
FROM friends 
WHERE id IN ('id1', 'id2', etc) 

,但是列表是300个ID,我不想手动键入它们。 IN( )之后有什么方法可以搜索文件?

1 个答案:

答案 0 :(得分:1)

如果我的数据库在“ IN”列表中允许至少300个项目(我认为postgresql does),那么我将使用文本编辑器以单引号和逗号重新格式化该列表,然后复制并粘贴。许多文本编辑器允许您搜索模式/正则表达式,因此您可以执行一些操作,例如在行的开头或结尾插入文本,以将其从简单的数字列表转换为有效的SQL。也可以将列表格式化为一系列单行“插入” SQL语句。

这不是一个完全通用的解决方案,如果您要处理比简单整数ID更复杂的数据,则可能会遇到一些陷阱。