我有一个包含20列的表,我需要将其传输到一个包含25列的新表。 我很想知道是否有可能这样做?我将非常感谢能够引导我解决问题的任何来源。 非常感谢您的时间和帮助。
我将在下面做一个简短的例子:
table.1包括,让我们按顺序说4列: t1.First_name,t1.last_name,t1.Phone_number,t1.Address
我希望将此数据传输到Table.2,其中包含以下顺序排列的这些列: t2.First_name,t2.Last_name,t2.Gender,t2.Phone_number,t2.Phone_type,t2.Address
答案 0 :(得分:3)
INSERT INTO table2 ( First_name, Last_name, Gender, Phone_number, Phone_type, Address)
SELECT First_name, last_name, 'M', Phone_number, 'cell', Address
FROM table1
对于源表中不存在的列,您需要提供默认值或NULL,并在以后更新它们。
答案 1 :(得分:2)
这取决于额外的列 - 它们是否支持NULL值等。?
通常你可以做类似INSERT INTO ... SELECT(https://www.mssqltips.com/sqlservertutorial/2522/insert-into-sql-server-table-with-select-command/)
的事情e.g。
INSERT INTO [dbo].[table2] (First_name, Last_name, Gender, Phone_number, Phone_type, Address)
SELECT First_name, last_name, NULL, Phone_number, NULL, Address
FROM [dbo].[table1]
答案 2 :(得分:1)
insert into t2(FIRST_NAME,LAST_NAME,PHONE_NUMBER,ADDRESS)
(select * from t1);