Array
(
)

Duvida do Firebird

George Medeiros
   - 19 nov 2009

Boa tarde a todos, estou com dificuldades com o Firebird, estou com dois bancos de dados Produtos e Itens, onde em Itens tenho o Codigo de Barras do Produtos e o ID_PRODUTO, só que o Código do produto da tabela Itens esta errado, está relacionado ao produto errado, preciso alterar o ID_PRODUTO para o correto que esta na na tabela produtos, sei como resolver isso no SQL Server, mas no Firebird estou apanhando, no SQL resolveria da seguinte forma:

update Itens I

set I.ID_PRODUTO = (SELECT ID_PRODUTO FROM PRODUTOS WHERE REFERENCIA = P.REFERENCIA)

INNER JOIN PRODUTO2 P ON P.CODIGO_BARRAS = I.CODIGO_BARRAS

WHERE I.CODIGO_BARRAS = P.CODIGO_BARRAS

Gostaria de saber se tem como fazer algo parecido no Firebird.

Emerson
   - 07 jan 2010

veja se isso resolve:

update ITENS set ID_PRODUTO =
(select P1.ID_PRODUTO from PRODUTOS P1
 inner join PRODUTO2 P2 on P2.REFERENCIA = P1.REFERENCIA
 and P2.CODIGO_BARRAS = ITENS.CODIGO_BARRAS)

0
|
0