簡體   English   中英

來自兩個表的MYSQL UPDATE SELECT

[英]MYSQL UPDATE SELECT from Two Tables

在這里使用選定的答案 ,嘗試制作一個MySQL查詢,該查詢選擇列和設置值,但得到的是“每個派生表必須具有自己的別名”。 我只有兩個表:matrix_swfl_res和RLN分別定義為e和d。 我想念什么?

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

鏈接答案的第二部分是您所需要的-類似

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

如果您認為答案已鏈接,則在要更新表時必須進行聯接

這里的mysql錯誤是因為

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

當您編寫它時,它被視為派生表,就像您要更新此派生表一樣。

如果我了解您想要的內容:您想用以前完成的選擇來更新表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 

我沒有所有表格的詳細信息,但我希望通過此示例可以使它更清晰

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM