2016-10-13 3 views
0

U sing the selected answer here, 필자는 열을 선택하고 값을 설정하는 MySQL 쿼리를 만들려고했지만 '모든 파생 테이블에 고유 한 별칭이 있어야합니다.'라는 메시지가 나타납니다. 난 단지 두 테이블을 가지고 : matrix_swfl_res & RLN 나는 각각 & d로 정의했습니다. 내가 뭘 놓치고 있니?두 테이블의 MYSQL UPDATE SELECT

UPDATE (SELECT e.MLSNumber, d.MLSNumber 
      FROM matrix_swfl_res e, RLN d 
     WHERE e.MLSNumber = d.MLSNumber) 
    SET e.RSLN = d.RSLN 
+0

연결하는 대답을 읽지 않았습니까? –

+1

이런 종류의 문제는 때로는 열악한 디자인을 나타냅니다. – Strawberry

답변

1

같은

(SELECT e.MLSNumber, d.MLSNumber 
      FROM matrix_swfl_res e, RLN d 
     WHERE e.MLSNumber = d.MLSNumber) 

가 유래 된 테이블로 considerated 때문에

여기 MySQL의 오류로 인 당신이 그것을 쓰면, 당신이 파생 된 테이블을 업데이트하고자하는 것입니다.

내가 당신이 원하는 것을 이해한다면 :

UPDATE A 
INNER JOIN (SELECT e.MLSNumber, d.RSLN 
       FROM matrix_swfl_res e 
        INNER JOIN RLN d ON e.MLSNumber = d.MLSNumber) as Q 
    ON A.MLSNumber= Q.MLSNumber) 
SET A.RSLN = Q.RSLN 

나는 모든 테이블이 없습니다 : 일부는 이전에 수행 한 선택으로 당신은 테이블 A를 업데이트하려면, 여기 당신이해야 할 것입니다 세부 정보를 제공하지만이 예제를 통해 더 명확해질 수 있기를 바랍니다.

1

연결된 대답의 두 번째 부분은 당신이 필요 - 당신은 대답이 연결된 고려하는 경우, 당신은 당신이 테이블을 업데이트 할 때 조인을 할 필요가

UPDATE matrix_swfl_res e 
    INNER JOIN RLN d ON e.MLSNumber = d.MLSNumber 
    SET e.RSLN = d.RSLN