2011-06-29 61 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