[英]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.