使用SQL SELECT*Insert Into语句,但缺少的列为Null
如果您有一个表,其中列为Type和Amount,那么另一个表包含Type、Amount和其他12列,这些列不在表1中,有没有比在下面编写更简单的方法?重复“空”12次似乎太过时了,也许吧?或者这是目前唯一已知的解决方案 这里也有类似的问题,但没有一个真正解决了多个空列的问题(从我看到的),典型的错误是“列名或提供的值的数量与表定义不匹配”。我正在使用SQL Server 2017使用SQL SELECT*Insert Into语句,但缺少的列为Null,sql,sql-server,sql-insert,Sql,Sql Server,Sql Insert,如果您有一个表,其中列为Type和Amount,那么另一个表包含Type、Amount和其他12列,这些列不在表1中,有没有比在下面编写更简单的方法?重复“空”12次似乎太过时了,也许吧?或者这是目前唯一已知的解决方案 这里也有类似的问题,但没有一个真正解决了多个空列的问题(从我看到的),典型的错误是“列名或提供的值的数量与表定义不匹配”。我正在使用SQL Server 2017 INSERT INTO Table2 SELECT Type ,Amount ,--
INSERT INTO Table2
SELECT
Type
,Amount
,--Insert 12 NULLs here
FROM Table1
是的,您可以明确标识列:
插入表2中(类型、金额)
选择类型、金额
来自表1
我认为您需要一个
WHERE
子句,但这应该会让您明白。是的,您可以明确地识别列:
插入表2中(类型、金额)
选择类型、金额
来自表1
我认为您需要一个
WHERE
子句,但这应该会让您明白。在表名后指定列:
INSERT INTO Table2 (Type, Amount)
SELECT
Type
,Amount
FROM Table1
所有其他列将获得一个NULL
或其默认值。
如果其他未指定的列被定义为非空
而没有默认值
则此操作无效。请在表名后指定列:
INSERT INTO Table2 (Type, Amount)
SELECT
Type
,Amount
FROM Table1
所有其他列将获得一个NULL
或其默认值。
如果其他未指定的列被定义为notnull
,而没有默认值,则此操作将不起作用