gpt4 book ai didi

SQL Server 2008 使用联接表中的联接和 Where 子句更新查询

转载 作者:行者123 更新时间:2023-12-04 17:05:08 26 4
gpt4 key购买 nike

不知道为什么这不起作用:

UPDATE 
ust
SET
ust.isUnsubscribedFromSystemEmails = 1
FROM
UserSetting AS ust
INNER JOIN
[User] ON ust.userID = [User].userID
AND
[User].emailAddress IN (SELECT emailAddress FROM BadEmailAddresses)

用简单的英语,我试图设置 isUnsubscribed取消订阅的字段 userIDUserSetting表等于 userID在用户表和 emailAddress的地方在用户表中不在来自另一个表的电子邮件列表中。我可以使用几乎相同的语法在 isUnsubbed 列上运行选择并且它工作正常吗?谢谢!

附言我在这里查看了其他类似的问题,语法看起来相同,但显然我遗漏了一些东西。

最佳答案

是的,你忽略了一些东西。

set 语句不能引用 set 左侧的别名。

尝试:

UPDATE  
ust
SET
isUnsubscribedFromSystemEmails = 1
--select *
FROM
UserSetting AS ust
INNER JOIN
[User] ON ust.userID = [User].userID
WHERE [User].emailAddress IN (SELECT emailAddress FROM BadEmailAddresses)

我添加了注释掉的选择,以便您可以检查是否获得了您想要的结果集。

关于SQL Server 2008 使用联接表中的联接和 Where 子句更新查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3752876/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com