Возможно ли использование результата запроса select в вставке данных insert?
У меня задача добавить несколько записей в таблицу, но при это одним из значением values должен быть id, который я могу могу получить из другой таблицы. Это возможно будет произвести? СУБД PostgreSQL 9.6
Ответы (2 шт):
Автор решения: Мелкий
→ Ссылка
Да, возможно. Вы можете использовать в values подзапросы:
insert into tablename (column1, column2) values (
'value for column1',
(select id from anothertable where ...)
);
Такой подзапрос должен возвращать одну запись (иначе ошибка). Если подзапрос ничего не нашёл - будет подставлен NULL
Вы можете воспользоваться insert .. select запросом:
insert into tablename (column1, column2)
select
'value for column1',
id
from tablename
--- какой угодно запрос в части select
Эта форма insert может вставлять множество строк за раз.
Автор решения: Мингиян Басанов
→ Ссылка
Добавил условие where isfilterequired = 'true'. Запрос возвращает 43 записи.