我有一个很大的电子邮件地址列表,我需要确定哪些不在我的数据库中.我可以构建一个能告诉我这些信息的查询吗?
我正在使用SQL Server 2000,如果它需要非标准扩展
对于一个巨大的列表,我建议将该列表加载到第二个表(例如TEMP_EMAIL_ADDRESS),然后使用:
SELECT
  EMAIL
FROM
  TEMP_EMAIL_ADDRESS
WHERE
  EMAIL NOT IN (SELECT EMAIL FROM EMAIL_ADDRESS)
数据转换
如果您的数据位于名为emails.txt的文本文件中(每行一行),则可以使用以下DOS命令创建插入语句:
FOR /F %i IN (emails.txt) DO echo INSERT INTO TEMP_EMAIL_ADDRESS (EMAIL) VALUES ('%i') >> insert-email.sql
该命令将在当前目录中创建一个名为insert-email.sql的新文件,其中包含将现有电子邮件地址列表注入数据库所需的所有插入.
创建一个临时表,将电子邮件地址加载到临时表中,然后执行 NOT IN 查询,例如
SELECT emailaddress FROM temp_table WHERE emailaddress NOT IN (SELECT emailaddress FROM table)
你可以用 INSERT INTO 扩展它
| 归档时间: | 
 | 
| 查看次数: | 940 次 | 
| 最近记录: |