Как сравнить две таблицы, если нет совпадения, вставить эти значения в таблицу, в которой нет данных? - PullRequest
1 голос
/ 05 сентября 2011

Мне нужно сравнить две таблицы Main_Table и OUT-Table, OUT_Table содержит данные, но Main_Table может содержать не все данные. Поэтому мне нужно сравнить эти таблицы, если нет совпадения, а затем просто вставить эти несопоставимые значениядо Main_Table.Это мой запрос ...

Insert into Main_Table MT (MT.SerialNo) values (Select SerialNo 
from Main_Table MT where not exists (select SerialNo from OUT_Table OT 
where OT.SerialNo = MT.SerialNo))

Это выбор значений из out_Table, которых нет в Main_Table, но не вставка значений в main_table.Я использую базу данных Oracle, Java (JSP).Пожалуйста, помогите мне сделать это.

1 Ответ

2 голосов
/ 05 сентября 2011
Insert into Main_Table MT (MT.SerialNo)  
values ( Select SerialNo 
         from Main_Table MT 
         where not exists ( select SerialNo 
                            from OUT_Table OT 
                            where OT.SerialNo = MT.SerialNo
                          )
       )

Синтаксис INSERT INTO..SELECT FROM, который вы здесь использовали, неправильный, ключевое слово values здесь не требуется.Должно быть просто

Insert into Main_Table MT (MT.SerialNo)  
( Select SerialNo 
         from Main_Table MT 
         where not exists ( select SerialNo 
                            from OUT_Table OT 
                            where OT.SerialNo = MT.SerialNo
                          )
 )  

Вот пример , который предоставляет документация Oracle .

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