2016-10-13 12 views
0

U sing the selected answer here、私は列を選択して値を設定するが、「すべての派生テーブルには独自のエイリアスが必要」というMySQLクエリを作成しようとしました。私は2つのテーブルしか持っていません:matrix_swfl_res & RLN私はe & dとそれぞれ定義しました。私は何が欠けていますか?2つのテーブルからの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のエラーでありますあなたはそれを書いています、それはあなたがこの派生テーブルを更新したいのと同じです。

私はあなたが望むものを理解していれば: あなたがいくつかと、テーブルAを更新するには、あなたが以前行った選択、ここにあなたが何をする必要があるかです:

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 

私はすべてのテーブルを持っていません詳細は、この例ではより明確になることを願っています

1

あなたのリンクの答えの2番目の部分は、何が必要です - あなたは答えがリンクを検討している場合、あなたはあなたがテーブルを更新したいときに参加しなければならない

UPDATE matrix_swfl_res e 
    INNER JOIN RLN d ON e.MLSNumber = d.MLSNumber 
    SET e.RSLN = d.RSLN 
関連する問題