Подтвердить что ты не робот

Как вставить значения в таблицу, используя подзапрос с несколькими результатами?

Я действительно был бы признателен за вашу помощь.

Возможно, это довольно простая проблема для решения - но я не тот, кто...; -)

У меня есть две таблицы в SQL Server:

  • статьи
  • цены

Теперь я хочу выбрать определенный набор идентификаторов и вставить некоторые записи в таблицу цен с этими идентификаторами.

например. (неправильно и не работает SQL)

INSERT INTO prices (group, id, price) 
VALUES (7, (select articleId from article WHERE name LIKE 'ABC%'), 1.50);

Ошибка SQL → подзапрос имеет более 1 значения

спасибо за помощь

4b9b3361

Ответ 1

Вы хотите:

insert into prices (group, id, price)
select 
    7, articleId, 1.50
from article where name like 'ABC%';

где вы просто кодируете константные поля.

Ответ 2

Попробуйте следующее:

INSERT INTO prices (
    group, 
    id,
    price
) 
SELECT
    7,
    articleId,
    1.50
FROM
    article 
WHERE 
    name LIKE 'ABC%';

Ответ 3

INSERT INTO prices (group, id, price)
  SELECT 7, articleId, 1.50 FROM article WHERE name LIKE 'ABC%'

Ответ 4

Если вы вставляете одну запись в свою таблицу, вы можете сделать

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%'

Ответ 5

INSERT INTO prices(group, id, price)
SELECT 7, articleId, 1.50
FROM article where name like 'ABC%';

Ответ 6

запрос выглядит так:

 insert into table_name (col1,col2,....) values (select col1,col2,... FROM table_2 ...)

надеюсь, что эта помощь