不知道爲什麼,這是行不通的:SQL Server 2008的更新查詢與加入和Where子句中加入表
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
字段設置爲退訂,其中userID
在UserSetting
表等於用戶表中的userID
,並且用戶表中的emailAddress
不在另一個表中的電子郵件列表中。我可以使用幾乎相同的語法在isUnsubbed列上運行選擇,它工作正常嗎?謝謝!
P.S.我在這裏看過其他類似的問題,語法看起來相同,但顯然我錯過了一些東西。
爲什麼它不起作用?你是否有錯誤信息(如果有的話,信息是什麼?),或者你沒有預期的結果(如果是的話,獲得的結果是什麼?)? – 2010-09-20 15:23:38
對不起,很好的問題!它不解析查詢.. – toddm 2010-09-20 15:36:30
命中輸入錯誤。列或表達式'isUnsubscribedFromSystemEmails'不能被更新。列存在並且是可寫的..沒有權限問題..然後我得到一些其他的東西,錯誤信息是:無效的對象名稱'ust'。 UserSetting表格絕對存在!選擇使用相同的連接並在where子句中給出正確的結果 – toddm 2010-09-20 15:38:23