我正在将所有记录从一个表复制到另一个表,该表将有一个额外的列来跟踪复制过程。此附加列将来自其他表。
我无法从这些现有表中将数据插入到新表中,并且需要您的输入。
(我不能在现有表中添加一个新列。我必须从中复制数据。)
我正在将所有记录从一个表复制到另一个表,该表将有一个额外的列来跟踪复制过程。此附加列将来自其他表。
我无法从这些现有表中将数据插入到新表中,并且需要您的输入。
(我不能在现有表中添加一个新列。我必须从中复制数据。)
我不确定您使用的是 SQL Server 还是 MySQL 或其他东西,但类似的东西应该可以工作。
INSERT INTO table_name (col1, col2, col_for_tracking_copy)
SELECT col1, col2, 'some value' AS col_for_tracking_copy
FROM table_name2
您说附加列将来自“其他表”。你可以再详细一点吗?如果您可以加入这个其他表,只需将其添加到上述语句并删除“一些值”。
应该很简单。我正在使用 LEFT OUTER JOIN,这样如果第二个旧表中没有任何匹配的行,您就不会省略第一个旧表中的任何行。如果新列不可为空,您可以调整选择以提供默认值。应事先创建新表。
INSERT INTO newtable (colA,colB,...,newCol)
(SELECT a.colA, a.colB,..., b.newCol
FROM oldtable1 a
LEFT OUTER JOIN oldtable2 b on a.colA = b.colA)