SQL帮助 - 根据不同的列值将列插入表中

时间:2013-04-21 10:51:33

标签: mysql database sql-insert

您好我正在尝试执行以下操作并且有点卡住了想法:

我有一组这样的数据:

Column1(int)      Column2(int)       Column3(Varchar)

0                 1234               ABC-0
1                 1234               ABC-1
2                 1234               ABC-2
3                 1234               ABC-3
4                 1234               ABC-4

0                 6789               DEF-0
1                 6789               DEF-1
2                 6789               DEF-2
3                 6789               DEF-3
4                 6789               DEF-4

我想更新表,以便为不同的column2值插入一个额外的行,其中第一列的值设置为999,column3的值如下所示:

Column1(int)      Column2(int)       Column3(Varchar)
0                 1234               ABC-0
1                 1234               ABC-1
2                 1234               ABC-2
3                 1234               ABC-3
4                 1234               ABC-4
999               1234               ABC  ********New row******

0                 6789               DEF-0
1                 6789               DEF-1
2                 6789               DEF-2
3                 6789               DEF-3
4                 6789               DEF-4
999               6789               DEF  ********New row******

我对SQL很陌生,任何帮助都会非常感激,

只是为了澄清这将在新数据集放入数据库后由脚本自动运行

干杯

1 个答案:

答案 0 :(得分:1)

整体结构如下:

INSERT INTO your_table (Column1, Column2, Column3)
SELECT DISTINCT 999, Column2, substr(Column3, 1, 3)
FROM your_table

但请注意,这只是一个指导。您的substr函数调用可能会有所不同,具体取决于数据的确切结构和您正在使用的数据库引擎。例如。在SQL Server上,它可能与MySQL上的不同。