0

擬似コードで次のようなクエリを MySQL で実行する方法はありますか。

INSERT INTO table_a(a, b, c) SELECT table_b.a, table_b.b, IF (table_b.c <100) 500 else 1000 WHERE ...

トランザクションとして 2 つの個別のクエリを作成できることはわかっていますが、レコードを 2 回調べずに、別のテーブルの別の列に基づいて列の値を挿入する方法があるかどうかを知りたいです。

4

1 に答える 1

1

はいあります。CASE次の構成を使用できます。

INSERT INTO table_a (a, b, c) 
SELECT table_b.a, table_b.b, CASE WHEN table_b.c < 100 THEN 500 else 1000 END
FROM   table_b
WHERE  ...
于 2013-11-03T14:15:51.043 に答える