Mysql SQL:更新表

Mysql SQL:更新表,mysql,sql,Mysql,Sql,我有3个表:事件、任务、任务处理程序 EVENT: event_id|name TASK_HANDLER: event_id|task_seq|handler TASK: event_id|task_seq|script 我想要的是“脚本”的内容与“名称”相同。 task_handler.handler是event.event_id 因此,我要做的是为每个event\u id/task\u seq组合获取event.name,并将其放入task.script中 结果应该是这样的: 使用此查

我有3个表:事件、任务、任务处理程序

EVENT:
event_id|name

TASK_HANDLER:
event_id|task_seq|handler

TASK:
event_id|task_seq|script
我想要的是“脚本”的内容与“名称”相同。 task_handler.handler是event.event_id

因此,我要做的是为每个event\u id/task\u seq组合获取event.name,并将其放入task.script中

结果应该是这样的: 使用此查询

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

我不确定我是否理解您的关系(我对处理程序是事件id感到困惑),但请尝试以下方法:

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
谢谢,就这样:)每个事件都可以是另一个事件的处理程序。。这就是这种关系存在的原因