2010-06-15 84 views
1

试图使此查询在MS Access中工作。MS Access中的SQL更新声明

Update Network.Location=Enclave.Location Where Enclave.Site=No AND 
Network.AlternateLocation=Enclave.Location Where Enclave.Site=Yes 

我不知道如何让这个做我想做什么这是在网络位置商店飞地位置,如果飞地现场实地为否,在备用位置,如果是专卖店encalve位置,这意味着它会在该行的网络位置存储空白值。

重点领域更新

Update Network InnerJoin Enclave On Network.ID=Enclave.ID Set 
Network.Location=Enclave.Location Where Enclave.Site=No AND 
Network.AlternateLocation=Enclave.Location Where Enclave.Site=Yes 

回答

1
UPDATE Network Inner Join Enclave ON Network.ID=Enclave.ID 
SET Network.Location = IIF(Enclave.Site=False, Enclave.Location, ""), 
Network.AlternateLocation = IIF(Enclave.Site=True, Enclave.Location, "") 

注:我没有尝试这样做&猜测,这应该工作。
此外,我认为你会希望该字段更新为空白,如果它不满足条件。

+0

你是男人..我知道这是这样的东西只是无法找到如果conition语法 – Jake 2010-06-15 17:01:20

2

你应该在两个破发命令:

​​
+0

你能提供一些有关表格的详细信息吗? 我刚刚意识到它们中有两个 – pcent 2010-06-15 14:44:24

+0

,好像我在访问中的一个更新查询中不能有两条更新语句。因为当我尝试关闭查询时,我在第二次更新 – Jake 2010-06-15 14:52:34

+0

时收到错误我想知道加入表的关键字段: UPDATE Network n SET Location = e.location from enclave e其中n.id = e.id和e.Site = NO – pcent 2010-06-15 14:53:40