2017-08-17 24 views
0

第一次更新是:訪問,結合多種查詢和更新

UPDATE TABLE 1 
INNER JOIN TABLE 2 
ON (TABLE 1.Name  = TABLE 2.Name) 
AND (TABLE 1.Location = TABLE 2.Location) 
SET 
    (
    TABLE 1.Address = TABLE 2.NewAddress 
) 
WHERE (((TABLE 1.Name)= "Jack")); 

第二個更新是:

UPDATE TABLE 1 
SET TABLE 1.Locatio  = "NewYork" 
WHERE (((TABLE 1.Location) = "GZ" 
OR (TABLE 1.Location)  = "BJ") 
AND ((TABLE 1.Name)  = "Jack")); 

我想用一個查詢這兩個更新組合在一起,或任何改善在這兩個查詢?

謝謝!

+0

只是好奇,但爲什麼你需要查詢相結合? – nicomp

+0

如果您只是要求提供有關您的SQL的反饋,那麼適當的網站就是https://codereview.stackexchange.com/。另外,請不要在隱藏表名時在代碼中引入錯誤。 「TABLE 1」應該是「[TABLE 1]」或「TABLE_1」。 –

回答

0

如果你真的希望將這些查詢組合,你可以做以下的事情:

UPDATE TABLE 1 
INNER JOIN TABLE 2 
ON (TABLE 1.Name  = TABLE 2.Name) 
AND (TABLE 1.Location = TABLE 2.Location) 
SET 
    (
    TABLE 1.Address = TABLE 2.NewAddress 
    TABLE 1.Location = IIF((TABLE 1.Location = "GZ" OR TABLE 1.Location = "BJ"), "NewYork", TABLE 1.Location) 
) 
WHERE (TABLE 1.Name= "Jack");