Ответ 1
Вы хотите:
insert into prices (group, id, price)
select
7, articleId, 1.50
from article where name like 'ABC%';
где вы просто кодируете константные поля.
Я действительно был бы признателен за вашу помощь.
Возможно, это довольно простая проблема для решения - но я не тот, кто...; -)
У меня есть две таблицы в SQL Server:
Теперь я хочу выбрать определенный набор идентификаторов и вставить некоторые записи в таблицу цен с этими идентификаторами.
например. (неправильно и не работает SQL)
INSERT INTO prices (group, id, price)
VALUES (7, (select articleId from article WHERE name LIKE 'ABC%'), 1.50);
Ошибка SQL → подзапрос имеет более 1 значения
спасибо за помощь
Вы хотите:
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%'
Если вы вставляете одну запись в свою таблицу, вы можете сделать
INSERT INTO yourTable
VALUES(value1, value2)
Но поскольку вы хотите вставить более одной записи, вы можете использовать SELECT FROM
в своем 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 table_name (col1,col2,....) values (select col1,col2,... FROM table_2 ...)
надеюсь, что эта помощь