2017-02-15 73 views
0

表1表列:更新從另一個表列的最低值

ID | SKU | Images 
------------------ 
1 | 1502 | Link1 
2 | 1852 | Link2 
3 | 1745 | Link3 

表2:

ID | Product | MainLink 
------------------------ 
1 | 1501 | Link1 
2 | 1502 | Link1 
3 | 1852 | Link2 
3 | 1745 | Link3 

我試圖從表1與各MainLink的表2中的最低值更新SKU

結果將是:

表1:

ID | SKU | Images 
------------------ 
1 | 1501 | Link1 
2 | 1852 | Link2 
3 | 1745 | Link3 

這是查詢我有這麼遠,但ID不會讓我的最低值:

UPDATE Table1 t1 JOIN Table2 t2 ON t1.Images = t2.MainLink SET t1.SKU = t2.Product 
+0

參見SQL的[ORDER BY](HTTPS: //www.w3schools.com/sql/sql_orderby.asp)關鍵字 – kman

回答

0

試試這個方法:

UPDATE Table1 t1 
JOIN (SELECT MIN(Product) Product, MainLink 
    FROM Table2 GROUP BY Table2.MainLink 
) t2 ON t1.Images = t2.MainLink SET t1.SKU = t2.Product 
+0

謝謝。我得到#1054 - 'on條款'中的未知列't2.MainLink' –

+0

我修復了它,現在我得到這個錯誤:#1062 - 重複'SKU'的重複條目'16998' –

+0

是的,但是這可以沒有要做這個答案也許你有相同的Table2.Product惠特爲兩個不同的鏈接設置。然後當你更新Table1時,你對SKU有唯一的約束。 試試這個,看看你是否有多個記錄 SELECT * FROM Table2 WHERE產品= 16998 – Galileox86

相關問題