我正在尝试从一个名为" m_aduana"的外国表中复制数据的工作。架构" nathalia"我的架构" publico"和我的桌子" mae_aduana"。
我需要执行一个复制表中所有值的查询" m_aduana"避免重复。
我现在有这样的东西,但结果发给我一个插入0 0,这意味着没有插入任何内容。
insert into publico.mae_aduana(cod_aduana,nom_aduana,des_aduana,cod_aduana1,cod_aduana2,cod_aduana3,est_aduana)
select cod_aduana,nom_aduana,des_aduana,cod_aduana1,cod_aduana2,cod_aduana3,est_aduana
from nathalia.m_aduana
where not exists (
select * from publico.mae_aduana ma_ad, nathalia.m_aduana m_ad
where ma_ad.cod_aduana = m_ad.cod_aduana)
答案 0 :(得分:1)
您可能想要更改where exists
部分,如下所示
from nathalia.m_aduana m
where not exists (
select 1 from publico.mae_aduana
where cod_aduana = m.cod_aduana)
答案 1 :(得分:1)
我认为你在内部选择中有错误。您不需要再次使用表nathalia.m_aduana。如果应该是这样的:
insert into publico.mae_aduana(cod_aduana,nom_aduana,des_aduana,cod_aduana1,cod_aduana2,cod_aduana3,est_aduana)
select cod_aduana,nom_aduana,des_aduana,cod_aduana1,cod_aduana2,cod_aduana3,est_aduana
from nathalia.m_aduana
where not exists (
select * from publico.mae_aduana ma_ad
where ma_ad.cod_aduana = nathalia.m_aduana.cod_aduana)