2013-12-14 31 views
0

我有兩個表表A(以下)含有用戶的完整信息概況MYSQL JOIN - 範圍

+-----------+-----------+---------+ 
| group  | age_start | age_end | 
+-----------+-----------+---------+ 
| 01  | 01  | 04  | 
| 02  | 05  | 07  | 
| 03  | 08  | 11  | 
+-----------+-----------+---------+ 

和表B。表B有一個包含年齡(2位)的年齡欄。在表B中創建了另一個名爲group的列。我希望能夠使用基於表A age_start和age_end的年齡列來更新表B組列。我可以請求非常讚賞的幫助。

回答

1

使用和updatejoin

update b join 
     a 
     on b.age between age_start and age_end 
    set b.`group` = a.`group`; 

順便說一句,group是一列一個不好的名字,因爲它是一個保留字。

+0

感謝戈登感謝您的快速反應和指針「組」的名稱。因爲它在名爲age_group的表中,所以我不好。不過,我相信它會幫助像我這樣的新學員。解決方案奏效乾杯 – user3102551

0

UPDATE查詢可以使用常用連接如下:

UPDATE tableB b SET b.group = a.group 
INNER JOIN tableA a ON b.age BETWEEN a.age_start AND a.age_end; 
+0

很多感謝Parkash。感謝您的幫助和時間。 – user3102551

+0

快樂編碼! :) –