2013-04-05 82 views
2

我有一個table_a,我想用其他兩個表中的數據更新。用於將數據從2個表更新爲另一個表的SQL查詢

table_a 
+----+---------+------------+-------+ 
| id | user | date | valid | 
+----+---------+------------+-------+ 
| 10 | Bob  |   |  | 
| 11 | Joe  |   |  | 
| 12 | Joe  |   |  | 
| 13 | Pete |   |  | 
| 14 | Bob  |   |  | 
+----+---------+------------+-------+ 

日來自表-B,其中table_b.rel_id = table_a.id

table_b 
+----+----------+----------+ 
| id | rel_id | date | 
+----+----------+----------+ 
| 30 | 8  | 10/10/11 | 
| 31 | 9  | 10/10/11 | 
| 32 | 10  | 10/10/11 | 
| 33 | 11  | 10/10/11 | 
| 34 | 12  | 10/10/11 | 
| 35 | 13  | 10/10/11 | 
| 36 | 14  | 10/10/11 |   
+----+----------+----------+ 

和有效來自table_c其中table_c.rel_id = table_a.id

table_c 
+----+----------+----------+ 
| id | rel_id | valid | 
+----+----------+----------+ 
| 40 | 10  | yes | 
| 41 | 11  | no  | 
| 42 | 12  | yes | 
| 43 | 13  | no  | 
| 44 | 14  | yes | 
| 45 | 15  | no  | 
| 46 | 16  | yes |   
+----+----------+----------+ 

豈今用SQL查詢完成?

回答

4

您可以簡單地使用INNER JOIN加入表格。

UPDATE table_a a 
     INNER JOIN table_b b 
      ON a.id = b.rel_id 
     INNER JOIN table_c c 
      ON a.id = c.rel_id 
SET  a.date = b.date, 
     a.valid = c.valid 
+2

+1 http://www.sqlfiddle.com/#!2/2dce1/1 – mellamokb 2013-04-05 14:39:51

+2

@mellamokb哎呀,謝謝,我也忙着做小提琴和固定錯字':)' – 2013-04-05 14:41:26

+0

你們真是太棒了,很快就回答了,並且完美地呈現了SQLFiddle。我甚至無法寫得那麼快。非常感謝! – lunacafu 2013-04-05 15:43:41

相關問題