1

我正在尝试将数据从模式“nathalia”的名为“m_aduana”的外部表复制到我的模式“publico”和表“mae_aduana”。

我需要做一个查询,复制表“m_aduana”中的所有值,避免重复。

我现在得到了类似的东西,但结果给我发送了一个 Insert 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)
4

2 回答 2

1

您可能想要更改where exists如下所示的部分

from nathalia.m_aduana m
where not exists (
select 1 from publico.mae_aduana
    where cod_aduana = m.cod_aduana)
于 2016-12-28T21:12:49.777 回答
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)
于 2016-12-28T21:14:43.133 回答