0

次のような 2 つの同様のテーブルがあります。

+-----+------+------+---------------------+
| ID  |  A   |   B  |      Timestamp      | 
| 308 | 1.82 | 1.38 | 2012-08-28 21:17:59 |
| 309 | 1.81 | 1.81 | 2012-08-28 21:18:25 |
| 310 | 1.38 | 1.34 | 2012-08-28 21:18:43 |
+-----+------+------+---------------------+

次のような新しいテーブルを作成する必要があります。

+-----+------+------+---------------------+
| ID  |A1-A2 | B1-B2|      Timestamp      | 
| 308 |  x   |   x  | 2012-08-28 21:17:59 |
| 309 |  x   |   x  | 2012-08-28 21:18:25 |
| 310 |  x   |   x  | 2012-08-28 21:18:43 |
+-----+------+------+---------------------+

このクエリまたは sql cmd に関する提案はありますか?

編集

申し訳ありませんが、指定しなかったのは私のせいです。

タイムスタンプを介してテーブルを差し引いて同期する必要があります。ID は不要または重要ではありません。両方のテーブルは毎秒 2 つの数字 (a、b) で埋められ、タイムスタンプは自動的に生成されます

この2つのテーブルのオンタイムサイクルのこの減算を計算する方法はありますか? 出力はこのようにする必要があり、毎秒計算することは可能ですか?

+---------------------+-------+------+
| | タイムスタンプ |A1-A2 | B1-B2|  
| | 2012-08-28 21:17:59 | × | × |
| | 2012-08-28 21:18:25 | × | × |
| | 2012-08-28 21:18:43 | × | × |
+---------------------+-------+------+
4

2 に答える 2

2

新しいテーブルが作成され、insert into <your new table name> intoその後に select ステートメントが続きます。t1最初のテーブルが呼び出され、2番目のテーブルが呼び出されると想定しましたt2

insert into new_table from
select t1.id, (t1.a - t2.a) as a1_a2, (t1.b - t2.b) as b1_b2, t1.timestamp
from t1
join t2 on (t1.id=t2.id)

列ヘッダーは、新しいテーブルの列名として使用されますが、ダッシュを含めることはできません。

于 2012-08-28T19:33:32.137 に答える
2

IDが同じ場合。新しいテーブルを作成し、このように入力します

INSERT INTO new_table
SELECT t1.id, (t1.a - t2.a), (t1.b - t2.b), t1.timestamp, ....
FROM table1 as t1 INNER JOIN table2 as t2 on t1.id = t2.id

他のフィールドで何をしたいのかを指定していないことに注意してください。両方のテーブルのデータが利用可能になり、好きなように処理できます。

于 2012-08-28T19:33:44.360 に答える