请原谅我,因为我对SQL比较陌生。但我试图从一个表上的SELECT查询中获取修改后的数据,并使用它将数据填充到另一个表中。
SELECT ID FROM TABLE WHERE VALUE=10
我想将结果ID插入到另一个表中,但修改后的值为:
1stString.ID.2ndString
我已经找到了如何在插入中使用SELECT中的ID的答案,但我似乎无法在尝试连接时使其工作。我还插入了其他值,但它们是文字(我试图初始化另一个表格中给出的ID的默认密钥设置。
使用MS SQL Studio 2008,顺便说一句。
答案 0 :(得分:41)
INSERT INTO table (field)
SELECT '1stString.' + cast(id as varchar(50)) + '.2ndString'
FROM table2
WHERE id = 10
编辑 - 回复评论: 你走在正确的轨道上,但你想从你的桌子中选择你的硬编码字符串,如下所示:
INSERT INTO table1 (field1, field2, field3)
SELECT '1stVal', '2ndVal', '1stString.' + cast(id as varchar(50)) + '.2ndString'
FROM table2
WHERE id = 10
Dustin Laine的回答也说明了这一点。
答案 1 :(得分:8)
INSERT table1
(
f1, f2, f3, f4
)
SELECT f1, f2, f3, 'defaultval' as f4
FROM table2
WHERE value = 1