0

次のようなテーブルがあります。

BatchID Volume1 Volume2 Volume3

1        3.0      4.0     5.0
1        2.0      1.0     2.0
2        1.0      2.0     4.0 
2        1.0      1.0     1.0
2        1.0      1.0     1.0

次のように同じ volume1、volume2、および volume3 値を持つ別の batchid 3 を追加しようとしています (batchID 2 からの同じレコード)

1        3.0      4.0     5.0
1        2.0      1.0     2.0
2        1.0      2.0     4.0 
2        1.0      1.0     1.0
2        1.0      1.0     1.0
3        1.0      2.0     4.0 
3        1.0      1.0     1.0
3        1.0      1.0     1.0

次のクエリを書きました

insert into table1 (BatchID,Volume1,Volume2,Volume3) Values 
(`3`,Select Volume1,Volume2,Volume3 from table1 where batchid = '2')

エラーを出します。

PS上記が適切なデータベース設計ではないことはわかっています。これは、私の実際の設計の単純化されたバージョンです。

4

2 に答える 2

3

使用できますINSERT ... SELECT

INSERT INTO table1 (BatchID, Volume1, Volume2, Volume3)
SELECT 3, Volume1, Volume2, Volume3 FROM table1 WHERE batchid = 2
于 2012-06-05T00:58:21.320 に答える
1

免責事項: 私はこれをテストしていないので、自己責任で試してください!

これは機能しますか?

INSERT INTO table1 (BatchID, Volume1, Volume2, Volume3)
    SELECT 3, Volume1, Volume2, Volume3
    FROM table1
    WHERE BatchID = 2;
于 2012-06-05T01:01:29.867 に答える