2011-06-29 16 views
0

私は3つのテーブルを持っています:イベント、タスク、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_id/task_seqの組み合わせに対してevent.nameを取得してtask.scriptに入れることです。 http://imageshack.us/photo/my-images/825/stackover.jpg/

答えて

0

は私が(私はハンドラのevent_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 
+0

はあなたに感謝、それは:)すべてのイベントをすることができthatsの他のイベントのハンドラ..なぜこの関係がここにあるの? – 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 
関連する問題