我正在尝试使用来自同一服务器上两个不同数据库的两个表的数据来填充表。
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
但它给了我错误
多部分标识符incoming.pk_consecventa无法绑定
学生在这里,谢谢
答案 0 :(得分: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
您还必须为所有字段添加表别名,因为您正在加入包含所有这些字段的表。