0

我试图用来自同一服务器上两个不同数据库的两个表中的数据填充一个表。

insert into emsoluciones.dbo.incoming (volumen, fechaini, fechafin, placa, nombreconductor, pk_consecventa)
   select 
       volumen, fechaini, fechafin, placa, nombreconductor, ventacliente.pk_consecventa
   from 
       estacion.dbo.venta, estacion.dbo.ventacliente
   where 
       venta.pk_consecventa = ventacliente.pk_consecventa 
       and ventacliente.pk_consecventa != emsoluciones.dbo.incoming.pk_consecventa

它有效,但如果我想再次更新信息,它会将所有数据添加到表中,所以我添加:ventacliente.pk_consecventa != incoming.pk_consecventa

但它给了我错误

多部分标识符传入.pk_consecventa 无法绑定

学生来了,谢谢

4

1 回答 1

1

如果要使用要插入的表中的字段排除项目,则需要在查询中加入该表。应该是这样的:

insert into emsoluciones.dbo.incoming (volumen, fechaini, fechafin, placa, nombreconductor, pk_consecventa)
   select 
       volumen, fechaini, fechafin, placa, nombreconductor, ventacliente.pk_consecventa
   from estacion.dbo.venta
   JOIN estacion.dbo.ventacliente 
        ON  venta.pk_consecventa = ventacliente.pk_consecventa 
   LEFT JOIN emsoluciones.dbo.incoming.pk_consecventa
        ON ventacliente.pk_consecventa = emsoluciones.dbo.incoming.pk_consecventa
   WHERE emsoluciones.dbo.incoming.pk_consecventa IS NULL

您还必须为所有字段添加表别名,因为您要加入的表也包含所有这些字段。

于 2013-06-09T16:54:20.583 回答