嗨,我正在尝试执行以下操作,但我有点困惑:
我有一组这样的数据:
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
我希望更新表格,以便为不同的第 2 列值插入额外的行,其中第 1 列的值设置为 999,第 3 列的值如下所示:
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 还很陌生,非常感谢任何帮助,
只是为了澄清这将在新数据集放入数据库后由脚本自动运行
干杯
最佳答案
整体结构如下:
INSERT INTO your_table (Column1, Column2, Column3)
SELECT DISTINCT 999, Column2, substr(Column3, 1, 3)
FROM your_table
但请注意,这只是一个指导。您的 substr
函数调用可能会有所不同,具体取决于数据的具体结构和您使用的数据库引擎。例如。 SQL Server 上的可能与 MySQL 上的不同。
关于mysql - SQL 帮助 - 根据不同的列值将列插入表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16130377/