如何在SQL中使用附加值从一个表插入到另一个表中?

如何在SQL中使用附加值从一个表插入到另一个表中?,sql,sql-server,tsql,sql-insert,Sql,Sql Server,Tsql,Sql Insert,我有两张桌子。我想将表1中的值插入到表2中,并将额外的值插入到表2中的列中。有没有一种方法可以在一个SQL语句中完成这一切 Table 1 [Id] UNIQUEIDENTIFIER NOT NULL, [Description] VARCHAR (140) NULL, [Cost] MONEY NULL, Table 2 [Id] UNIQUEIDENTIFIER NOT NU

我有两张桌子。我想将表1中的值插入到表2中,并将额外的值插入到表2中的列中。有没有一种方法可以在一个SQL语句中完成这一切

Table 1

[Id]             UNIQUEIDENTIFIER NOT NULL,
[Description]    VARCHAR (140)    NULL,
[Cost]           MONEY            NULL,

Table 2

[Id]                  UNIQUEIDENTIFIER NOT NULL,
[Order Number]        NVARCHAR (10)    NULL,
[Order Date]          DATETIME         NULL,
[Item Number]         NVARCHAR (4)     NULL,
[Item Description]    VARCHAR (140)    NULL,
[Item Cost]           MONEY            NULL,
[Order Total Cost]    MONEY            NULL,
[Order Tax Cost]      MONEY            NULL, 
以下是我的SQL语句:

INSERT INTO Table2 ([Id], [Item Description], [Item Cost])
SELECT NEWID(), Description, Cost FROM  Table1
WHERE Id = '1'

只需将值与列列表中的列一起添加到
select
行:

INSERT INTO Table2 ([Id], [Item Description], [Item Cost], [Order Date])
    SELECT NEWID(), Description, Cost, '2014-12-13'
    FROM  Table1
    WHERE Id = '1';

可以通过在select语句中为特定列添加值来实现

INSERT INTO TABLE2([COL1], [COL2], [COL3], [COL4])
    SELECT [COL1], [COL2], 'Value1', 'Value2'
    FROM TABLE1
表的SQL语句

INSERT INTO TABLE2 ([Id], [Item Description], [Item Cost], [Order Number], [Order Date] )
    SELECT NEWID(), Description, Cost, '1234', '2012-12-12' 
    FROM  TABLE1
    WHERE Id = '1'

额外的数据从何而来?您的路径是正确的,是什么阻止您在表1的select语句中添加其他值,就像您添加了NEWID(),还要添加其他值。@我的application@M.Ali这是一个很好的观点,谢谢。
插入表2中([Id],[Item Description],[Item Cost],Col1,col2)从表1中选择NEWID(),Description,Cost,@String1,@String2,其中Id='1'