Вставить ТОЧНО ЗАЯВЛЕННЫЕ значения для некоторого условия из другой таблицы в SQL - PullRequest
0 голосов
/ 10 октября 2018

Я потратил некоторое время на поиск, но не могу найти ни одного ответа, который бы удовлетворял то, что я пытаюсь достичь.

Я хочу вставить некоторые явно указанные значения в table1 на основе некоторого условия в table2

Логика выглядит следующим образом:

INSERT INTO table1(col1, col2, col3)
VALUES(value1, value2, value3)
ONLY IF (SELECT attribute from table2 WHERE id=1) NOT LIKE 'A')

Мне НУЖНОявно вставьте значения, а не INSERT SELECT из другой таблицы.Действительно ценю это.

1 Ответ

0 голосов
/ 10 октября 2018

Отредактировано после пояснения из ОП.

insert into table1(col1, col2, col3)
  select value1, value2, value3
  from   dual
  where  (select attribute from table2 where id = 1) != 'A'; 

Предполагается, что table1 имеет ровно одну строку, где id = 1, а attribute не null.Для немного более общего случая, когда может не быть строки с id = 1, или есть одна такая строка, но атрибут может быть null, вы можете написать условие where следующим образом:

where nvl( (select attribute from table2 where id = 1), 'B' ) != 'A'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...