如何在SQL中使用附加值从一个表插入到另一个表中?
我有两张桌子。我想将表1中的值插入到表2中,并将额外的值插入到表2中的列中。有没有一种方法可以在一个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
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'