如何比较两个表,如果没有匹配将这些值插入到没有数据的表中?
问题描述:
我需要比较两个表Main_Table
和OUT-Table
,OUT_Table
包含数据,但Main_Table
可能没有我需要比较这些表,如果没有匹配,那么只需要插入这些无与伦比的值Main_Table
所有data..so。这是我的查询......如何比较两个表,如果没有匹配将这些值插入到没有数据的表中?
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)。请帮助我做到这一点。
答
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
)
)
下面是that Oracle documentation提供的示例。
'INSERT ... SELECT ...'不带'VALUES'尝试删除它 – 2011-09-05 05:43:18
听起来不像一个辉煌的设计 但我认为ü需要删除“价值” – miki
感谢您的答复.. 。试试这个。 – sailaja