2012-05-10 5 views
1

私はMySQLバージョン5で作業しています。私は以下のように2つのテーブル構造を持っています。挿入または内部結合を使用する必要がありますか?

表1

From  To  Time  TravelTime 

表2

From To  Time  CongestionTime 

私は、次のような出力を実現したいと思います。

FromToTimeは、テーブルの両方が等しい場合、TravelTime = CongestionTime

を割り当てる表2で利用可能From | To | Time組み合わせ表1のサブセットのみを含んでいます。

+0

インテルいただきありがとうございます:) – FireFox

+0

を私は現在、私は、これはするのに長い時間がかかることがあります感じている表2に35のMIO項目(表1)および1.6 MIO項目のテーブルの上にこのクエリを実行していますそれは非常に読み込み集中的なので、完全です。 'From/To/Time'フィールドごとに一意のキーを生成する方法はありますか? – FireFox

答えて

1

からは、MySQLの予約語です。エスケープしない場合は、列名を「From」から「TimeFrom」に変更します。

UPDATE table1,table2 
SET table1.TravelTime=table2.CongestionTime 
WHERE table1.From = table2.From 
AND table1.To = table2.To 
+0

この回答はトリックでした。エベレストさん、ありがとうございました。私は[{UPDATE}]声明に2番目のテーブルを組み込むことは決して考えなかった。 – FireFox

+0

有用な+1投票 – AKZap

0
Update Table1 Set Table1.TravelTime = Table2.CongestionTime 
FROM Table2 
WHERE Table1.From = Table2.From 
     AND Table1.To = Table2.To 
     AND Table1.Time = Table2.Time 
0
update table1 
set traveltime = congestiontime 
from table1 
inner join table2 on table1.from = table2.from 
and table1.to = table2.to 
and table1.time = table2.time 
関連する問題