2013-10-03 46 views
0

好吧,我一直在嘗試這一整天。我知道這個問題之前已經被問及回答了,但是我一直無法圍繞如何完成這項工作。試圖更新和運行到錯誤

UPDATE 'domain_main.registrarMultiID' = 
(
    SELECT r.MultiID#, m.RecId, d.domainId 
    FROM domain_main d, Master m, registrar_accounts_multi r 
    WHERE d.domainId = m.RecId 
    AND r.account = m.Account_CustomerNumber 
    AND r.password = m.Password 
    AND r.logonName = m.Logon_Username 
) 

我在這裏錯過了什麼?我明白我不應該在select中引用domain_main,但我不知道如何以另一種方式解決這個問題。

+0

我已經基本得到了應該或多或少地代表了基於數據庫的數據表格。當然,電子表格並沒有很好地鏈接數據庫的方式,所以我的問題的實質是圍繞鏈接表建立這些鏈接。這就是我試圖運行這個查詢的原因。 – Harv

回答

1

你有錯誤的語法

UPDATE 'domain_main.registrarMultiID' = 
    (
     SELECT r.MultiID#, m.RecId, d.domainId 
     FROM domain_main d, Master m, registrar_accounts_multi r 
     WHERE d.domainId = m.RecId 
     AND r.account = m.Account_CustomerNumber 
     AND r.password = m.Password 
     AND r.logonName = m.Logon_Username 
    ) 

正確的語法如下圖所示。我假設你想要設置registrarMultiID列的值domain_main表的列值爲MultiID#的列值屬於registrar_accounts_multi表。

UPDATE 'domain_main' As d 
INNER JOIN Master as m 
    ON d.domainId = m.RecId 
INNER JOIN registrar_accounts_multi as r 
    ON r.account = m.Account_CustomerNumber 
     AND r.password = m.Password 
     AND r.logonName = m.Logon_Username 
SET d.registrarMultiID = r.MultiID# 
+0

你的假設是正確的,這看起來不錯。我會在今天晚些時候嘗試。我的語法有什麼問題?我也試過UPDATE'domain_main'SET registrarMultiID =(SELECT [...])。 – Harv

+0

這工作 - 謝謝你! – Harv

相關問題