0

私は2つのテーブルを持っています。1 つは生産テーブルで、もう 1 つは日報テーブルです。日報テーブルは毎日空になります。日報テーブルは、生産テーブルのサブセットです。生産テーブルからのすべての新しい行で日次テーブルを更新したいと考えています。where 句を使用することを考えました。

SELECT ftime, 
       fdate, 
       fdata, 
       fdata2 
INTO   table2 
FROM   table1 
WHERE  ftime > table2.ftime 

私はあまり運がありません。私はSQLが初めてで、どうすればいいのかわからず、この特定の問題についてネット上で何も見つけられないようです。

これは、動作するようになると、最終的にストアド プロシージャになります。

ヒント、ヒントをいただければ幸いです。

4

1 に答える 1

1
SELECT ftime, 
       fdate, 
       fdata, 
       fdata2 
INTO   table2 
FROM   table1 
WHERE  ftime > (select MAX(ftime) from table2)
   OR  NOT EXISTS (select * FROM table2);

table2 が空の場合 (毎日のパージを行ったばかりの場合など)、table1 のすべてが table2 に取り込まれます。それ以外の場合は、table2 に存在する
レコードよりも新しいレコードのみを table1 から挿入します。ftime

table2.ftime にインデックスがあることを確認してください

于 2013-04-22T21:46:21.560 に答える