2016-10-03 82 views
1

我有下面的示例T-SQL语句:插入记录从一个表到另一个和用户data..SQL服务器

INSERT INTO [Northwind].[dbo].[Categories]([CategoryName], [Description],Picture) 
SELECT TOP 10 productname, quantityperunit FROM [Northwind].[dbo].Products 

非常简单的我在做什么,但我想添加图片放入我的表格中,我想从我自己的数据中添加它。我知道这是不正确的,但我认为它具有更好的比我可以解释我想要做的事:

INSERT INTO [Northwind].[dbo].[Categories]([CategoryName], [Description],Picture) 
(SELECT TOP 10 productname, quantityperunit FROM [Northwind].[dbo].Products),'this is dummy data not real!!' 

所以,第一个2场[类别名称],[说明]我要来来自Products表中的记录。我想用我自己的数据填充最后一个字段[图片]。

这只是我想达到的一个样本。我希望数据在前两个字段之外是相同的。我不会在生产中使用Northwind。我只在寻找语法。谢谢

+2

'myimagedata'从哪里来?它应该如何为这10个记录中的每一个填充正确的图像? – GuidoG

+0

你错过了这一点。我不会在生产中使用Northwind。我的问题不是如何填充图像字段。我想要关于如何从表中的记录和我自己的数据填充字段的语法。 – BoundForGlory

回答

3

如果你的问题只是:如何将值添加到插入列表?你可以看看下面这个例子:

DECLARE @tblSource TABLE(ID INT, SomeData VARCHAR(100)); 
INSERT INTO @tblSource VALUES(1,'Data 1'),(2, 'Data 2'); 

目标--The列可以有其他名称,但类型必须是兼容的:

DECLARE @tblTarget TABLE(ID INT,SomeData VARCHAR(100),OneMore VARCHAR(100)); 

--insert @tblSource两排用一个额外的值

INSERT INTO @tblTarget(ID,SomeData,OneMore) 
SELECT ID,SomeData,'Just add a static value into the list' 
FROM @tblSource; 

- 检查结果

SELECT * FROM @tblTarget 

结果

ID SomeData OneMore 
1 Data 1  Just add a static value into the list 
2 Data 2  Just add a static value into the list 
+0

完美!这正是我想要的。 – BoundForGlory

1

你在哪里非常接近。
我不知道northwind表,但如果列图片将是一个varchar字段比这将填补表产品的第2列,第3个字段与一个固定的字符串。 这是你的意思吗?

INSERT INTO [Northwind].[dbo].[Categories] 
    ([CategoryName], [Description], Picture) 
SELECT TOP 10 productname, quantityperunit, 'this is dummy data not real!!' 
FROM [Northwind].[dbo].Products) 

你可以从@Shnugo的回答看,这回答关键是要静态数据添加到您的SELECT子句中查询。

+0

谢谢。这将工作 – BoundForGlory

相关问题