簡體   English   中英

MYSQL - 連接 2 個表,匹配多個列 - 從多個值匹配的其他表中更新值

[英]MYSQL - join 2 tables, match multiple columns - update value from other table where multiple values match

我需要將兩個表(TableCorrected)與(TableOriginal)連接起來。 兩個表都有 ID-number 和 Articlenumber 列。 這兩個表還有一個名為“數量”的列。

我想加入這兩個表,匹配 ID 號和 Articlenumber,並將 Quantity-value 從“TableOriginal”更新為“TableCorrected”,僅在 ID 號和 Articlenumber 匹配的情況下。

我已經開始了如下聲明 - 但我確定它不正確,返回 0 結果。

UPDATE TableOriginal
INNER JOIN TableCorrected ON TableOriginal.ID = TableCorrected.ID
SET TableOriginal.Quantity = TableCorrected.Quantity
WHERE TableCorrected.ID = TableOriginal.ID 
  AND TableCorrected.Article = TableOriginal.Article

但我確定這不正確

它是正確的。 但不是最優的。 更清楚的是,例如,

UPDATE TableOriginal
INNER JOIN TableCorrected USING (ID, Article)
SET TableOriginal.Quantity = TableCorrected.Quantity;

或者

UPDATE TableOriginal
INNER JOIN TableCorrected ON TableOriginal.ID      = TableCorrected.ID
                         AND TableOriginal.Article = TableCorrected.Article
SET TableOriginal.Quantity = TableCorrected.Quantity;

返回 0 結果。

UPDATE 不返回行。 而不是 SELECT。

暫無
暫無

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

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