Mysql内部连接4个表之间

时间:2015-09-15 14:15:10

标签: mysql inner-join

我必须使用INNER JOIN:

在表格(200.000条记录)之间进行大量更新

表1(数据来源):

CODE | AVAILABILITY | PRICE

表2(唯一带有“CODE”的表):

ID | CODE

表3(目的地表1):

ID | PRICE

表4(目的地表2):

ID | AVAILABILITY

我必须:

1) SELECT ID from Table2 WHERE table1.code=table2.code LIMIT 1
2) UPDATE PRICE in Table3 WHERE table3.ID=table2.ID LIMIT 1
3) UPDATE AVAILABILITY in Table4 WHERE table4.ID=table2.ID LIMIT 1

如何在单个查询中仅使用Mysql实现此目的?

1 个答案:

答案 0 :(得分:0)

使用此

UPDATE 
    table1 t1, table2 t2, table3 t3, table4 t4 
SET 
    t3.price=t1.price, t4.availability=t1.availability
WHERE 
    t1.code=t2.code AND t2.id=t3.id AND t2.id=t4.id