Je ne sais pas pourquoi cela ne fonctionne pas:SQL Server 2008 Mise à jour requête avec JOIN et clause Where dans le tableau joint
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)
Je suis En clair, en essayant de définir le champ isUnsubscribed
à désabonné où le userID
dans le UserSetting
table correspond à userID
dans la table utilisateur et où emailAddress
dans la table utilisateur n'est pas dans une liste d'e-mails d'une autre table. Je peux lancer un select sur la colonne isUnsubbed en utilisant à peu près la même syntaxe et ça marche bien? Merci!
P.S. J'ai regardé d'autres questions similaires ici et la syntaxe semble la même mais évidemment, il me manque quelque chose.
pourquoi cela ne fonctionne pas? avez-vous un message d'erreur (si oui, quel est le message?) ou vous n'avez pas les résultats attendus (si oui, quels sont les résultats obtenus?)? –
Désolé bonne question! Il n'analyse pas la requête .. – toddm
hit entrer par erreur. La colonne ou l'expression 'isUnsubscribedFromSystemEmails' ne peut pas être mise à jour. Les colonnes existent et est accessible en écriture .. aucune autorisation n'est émise .. et puis je reçois d'autres choses et le message d'erreur est: nom d'objet invalide 'ust'. La table UserSetting existe définitivement! Sélectionner en utilisant la même jointure et where dans la clause donne des résultats corrects – toddm