0

同じサーバー上の 2 つの異なるデータベースの 2 つのテーブルのデータをテーブルに入力しようとしています。

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

しかし、それは私にエラーを与えます

multipart Identifier incoming.pk_consecventa をバインドできませんでした

ここの学生、ありがとう

4

1 に答える 1

1

挿入先のテーブルのフィールドを使用してアイテムを除外する場合は、クエリでそのテーブルに JOIN する必要があります。次のようになります。

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 に答える