2011-06-29 64 views
0

我有3個表格:Event,task,task_handler。SQL:更新表

EVENT: 
event_id|name 

TASK_HANDLER: 
event_id|task_seq|handler 

TASK: 
event_id|task_seq|script 

我想要的是「腳本」與「名稱」具有相同的內容。 task_handler.handler是event.event_id。

所以我要做的是獲取event.name爲每個event_id/task_seq組合放入到task.script中。

的結果應該是這樣的: http://imageshack.us/photo/my-images/825/stackover.jpg/

回答

0

我不知道如果我理解你的關係(我被處理作爲事項標識混淆),但試試這個:

UPDATE `TASK` t 
INNER JOIN `TASK_HANDLER` th ON th.event_id = t.event_id AND th.task_seq = t.task_seq 
INNER JOIN `EVENT` e ON e.event_id = th.handler 
SET t.script = e.name 
+0

謝謝你,這就是它:)每一個事件可以是另一個事件處理程序..這就是爲什麼這種關係在這裏 – ph0rl

0

使用此查詢。

SELECT 
    e.event_id,t.task_seq,a.name as 'script' 
FROM 
    EVENT e, TASK_HANDLER t 
WHERE 
    e.event_id = t.event_id