2015-12-09 6 views
0

У меня есть следующие таблицы в моей базе данных:Как обновить MySQL таблицы в PHP на основе другой таблицы

заказ Таблица

|------------------------------------------------------| 
| Id | uid | order  | price | City_to_be_update 
|------------------------------------------------------| 
| 1  | 25 | someFoods | 10025 | 
|------------------------------------------------------| 
| 2  | 30 |Some veggies| 2015| 
|------------------------------------------------------| 
| 3  | 12 |Milk  | 145 | 
|------------------------------------------------------| 

Таблица пользователей:

|------------------------------------------------| 
| Id | uid | city_id | Address| 
|------------------------------------------------| 
| 1  | 30 | 1   | myAddress | 
|------------------------------------------------| 
| 2  | 12 | 2   | Asdfads | 
|------------------------------------------------| 
| .... | .. | ..  | ....... | 
|------------------------------------------------| 

Таблица города :

|------------------------------------------------| 
| Id |city_id| city_name | Country| 
|------------------------------------------------| 
| 1 | 2  | Abc  | Uae | 
|------------------------------------------------| 
| 2 | 3  | Def  | Ghi | 
|------------------------------------------------| 
| .... | .. | ..  | ....... | 
|------------------------------------------------| 

Wha т я хочу сделать, это

Select * from `order` 
    $user_id [ uid ]; 


Select * from `users` where `uid` = ‘$user_id’; 
    $city_id [ city_id ]; 

Select * из city где city_id = «$ CITY_ID»; $ city_name [город_имя];

Наконец хотите обновить таблицу заказа, как показано ниже

Update `order` SET ` City_to_be_update`= $city_name’; 

Как это сделать, пожалуйста, кто-нибудь может мне помочь?

ответ

2

Попробуйте этот запрос с Присоединяется,

UPDATE 
      <OrderTable> AS a LEFT JOIN <UsersTable> AS b ON a.uid=b.uid 
           LEFT JOIN <CityTable> AS c ON b.city_id=c.city_id 
    SET 
      a.City_to_be_update=c.city_name 
+0

yahooooooo! Это сработало! Спасибо огромное! –