Вставка записей в таблицу1 в зависимости от значения строки в таблице2 - PullRequest
0 голосов
/ 08 мая 2018

Для каждой строки в таблице экзамена 'где exam.examRegulation isnull' я хочу вставить одну соответствующую строку в таблицу examRegulation и скопировать значения столбцов из экзамена в экзаменационное регулирование. Видимо, следующий запрос слишком наивен и должен быть одобрен:

insert into examRegulation (graduation, course, examnumber, examversion) 
values (exam.graduation, exam.course, exam.examnumber, exam.examversion)
where ?? (select graduation, course, examnumber, examversion
from exam
where exam.examRegulation isnull)

Есть ли способ сделать это в postgresql?

1 Ответ

0 голосов
/ 08 мая 2018

Вы можете перефразировать это как INSERT INTO ... SELECT выражение:

INSERT INTO examRegulation (graduation, course, examnumber, examversion)
SELECT graduation, course, examnumber, examversion
FROM exam
WHERE examRegulation IS NULL;

Предложение VALUES, как следует из названия, может использоваться только с литеральными значениями. Если вам нужно заполнить вставку с помощью логики запроса, тогда вам нужно использовать предложение SELECT.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...