Database 查询更新整个表
这是我数据库中的查询Database 查询更新整个表,database,ms-access,Database,Ms Access,这是我数据库中的查询 UPDATE NewCustomer INNER JOIN ACTList ON NewCustomer.NewProvider<>ACTList.Provider SET NewCustomer.Status = "Denied Not Freemail"; 在NewCustomer.NewProviderACTList.Provider SET NewCustomer.Status=“拒绝非免费邮件”上更新NewCustomer内部加入ACTL
UPDATE NewCustomer INNER JOIN ACTList ON NewCustomer.NewProvider<>ACTList.Provider SET NewCustomer.Status = "Denied Not Freemail";
在NewCustomer.NewProviderACTList.Provider SET NewCustomer.Status=“拒绝非免费邮件”上更新NewCustomer内部加入ACTList;
正如您所看到的,应该更新的记录只有NewCustomer.Provider不等于ACTList.Provider的记录,但它实际上正在更新所有字段
有人能告诉我这是为什么吗?试试:
UPDATE NewCustomer
SET NewCustomer.Status = "Denied Not Freemail"
FROM NewCustomer INNER JOIN ACTList
WHERE NewCustomer.NewProvider<>ACTList.Provider;
更新新客户
SET NewCustomer.Status=“拒绝非免费邮件”
来自NewCustomer内部联接ACTList
其中NewCustomer.NewProviderACTList.Provider;
试一试(未经测试)。它基本上是说WHERE NewCustomer.NewProvider不在()
,但效率更高
UPDATE NewCustomer
SET NewCustomer.Status = "Denied Not Freemail"
LEFT JOIN ACTList ON NewCustomer.NewProvider = ACTList.Provider
WHERE ACTList.Provider IS NULL
您的查询选择了所有行,因为每一行都不等于ActList中的至少一行。可以使用外部联接并检查空值
UPDATE NewCustomer LEFT JOIN ACTList ON NewCustomer.NewProvider = ACTList.Provider SET NewCustomer.Status = "Denied Not Freemail"
WHERE (((ACTList.Provider) Is Null));
内部联接不需要ON子句吗?它表示缺少运算符或提供的任何答案都有帮助吗?如果是这样的话,你应该投一个或多个赞成票并接受一个。