如何使用具有多个结果的子查询将值插入到表中?
我真的很感谢你的帮助。
也许这是一个很简单的问题要解决 – 但我不是一个.. 😉
我在SQL Server中有两个表:
- 文章
- 价格
现在我想select一组ID,并用这些ID在价格表中插入一些条目。
例如(错误和不工作的SQL)
INSERT INTO prices (group, id, price) VALUES (7, (select articleId from article WHERE name LIKE 'ABC%'), 1.50);
SQL错误 – >子查询有多个值
感谢帮助
你要:
insert into prices (group, id, price) select 7, articleId, 1.50 from article where name like 'ABC%';
在那里你只是硬编码恒定的领域。
尝试这个:
INSERT INTO prices ( group, id, price ) SELECT 7, articleId, 1.50 FROM article WHERE name LIKE 'ABC%';
INSERT INTO prices (group, id, price) SELECT 7, articleId, 1.50 FROM article WHERE name LIKE 'ABC%'
如果您将一条logging插入到表格中,则可以这样做
INSERT INTO yourTable VALUES(value1, value2)
但是既然你想插入多条logging,你可以在你的SQL语句中使用SELECT FROM
。
所以你会想这样做:
INSERT INTO prices (group, id, price) SELECT 7, articleId, 1.50 from article WHERE name LIKE 'ABC%'
INSERT INTO prices(group, id, price) SELECT 7, articleId, 1.50 FROM article where name like 'ABC%';
子查询看起来像
insert into table_name (col1,col2,....) values (select col1,col2,... FROM table_2 ...)
希望这个帮助