2013-10-03 3 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 열의 값을 테이블에 속하는 MultiID#의 열 값에 domain_main 테이블의 값으로 설정하려고한다고 가정합니다.

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

관련 문제