首页 文章

Mysql内部连接4个表之间

提问于
浏览
1

我必须使用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

    用这个

    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
    

相关问题