我发现了很多类似的问题,但不完全是我需要的。我想创建一个 SQL 命令来查找所有重复的电子邮件行,并用“不要发送电子邮件”来更新它们的注释,如果它写在其中一个的注释中。
在下面的示例中,我想在注释中使用“请勿发送电子邮件”来更新第 2,4 和 6 行。
ID | email | note
--------------------
1 | A | do not email
2 | B |
3 | C |
4 | A |
5 | D |
6 | A |
7 | B | do not email
有没有人有任何提示?
这将更新目标表中与同一表中已标记为“不发送电子邮件”的电子邮件地址匹配的所有行
我认为这将解决您的问题。
这是另一种方法,适用于 SQL Server 2005 或更高版本:
该方法也适用于支持窗口函数和可更新 CTE 的任何其他 DBMS,但您需要稍微调整脚本。特别是,您需要更改
do_not_email_note
fromalias = expression
to的别名样式,expression AS alias
并可能重写此谓词:像这样:
(请注意分离周围的括号,它们对于整个条件正常工作很重要。)