update em tabelas puxando parametros de 2 tabelas ou mais
02/10/2013
0
tabela itens da venda = tbvendas campo totpar, campo vendas, campo nritem
tabela master ecf= tbmasterecf campo numcoo, e campo dtmovi, pedido
tabelas itens ecf= tbitensecf campo numcoo, e campo dtmovi, e campo totpar, campo nritem
gostaria de pegar o valor da tabela tbitensecf do campo totpar e jogar para a tabela tbvendas de mesmo campo so que a questao e que preciso fazer o update baseando nas duas
tabelas tbmasterecf e tbitensecf pois os cupons estao divididos o cabecalho na tbmasterecf e os itens na tbitensecf na tbvendas o que tenho que e igual a tbmasterecf
e o campo vendas que na tbmasterecf e equivalente a pedido
gostaria de montar o comando o maximo que conseguir foi o comando abaixo o que nao dara certo pois preciso dar update pelo numero do pedido e codigo do
produto
onde preciso jogar o totpar na tbvendas no totpar pegando o totpar da tbitensecf mas que seja do mesmo pedido na tbvendas e tbmasterecf
UPDATE tbvendas SET tbvendas.TOTPAR
Jardiel Silva
Posts
02/10/2013
Jardiel Silva
tabela itens da venda = tbvendas campo totpar, campo vendas, campo nritem
tabela master ecf= tbmasterecf campo numcoo, e campo dtmovi, pedido
tabelas itens ecf= tbitensecf campo numcoo, e campo dtmovi, e campo totpar, campo nritem
gostaria de pegar o valor da tabela tbitensecf do campo totpar e jogar para a tabela tbvendas de mesmo campo so que a questao e que preciso fazer baseando nas duas
tabelas tbmasterecf e tbitensecf pois os cupons estao divididos o cabecalho na tbmasterecf e os itens na tbitensecf na tbvendas o que tenho que e igual a tbmasterecf
e o campo vendas que na tbmasterecf e equivalente a pedido
gostaria de montar o comando o maximo que conseguir foi o comando abaixo o que nao dara certo pois preciso dar update pelo numero do pedido e codigo do
produto
onde preciso jogar o totpar na tbvendas no totpar pegando o totpar da tbitensecf mas que seja do mesmo pedido na tbvendas e tbmasterecf
UPDATE tbvendas SET tbvendas.TOTPAR =(SELECT tbitensecf.TOTPAR FROM tbitensecf WHERE tbitensecf.CDPROD = tbvendas.CDPROD) WHERE tbvendas.TOTPAR=NULL
11/10/2013
Jefferson Santos
na sua condição e se puder me diga se deu certo.
14/10/2013
Jardiel Silva
UPDATE tbvendas SET tbvendas.TOTPAR =(SELECT tbitensecf.TOTPAR FROM tbitensecf WHERE tbitensecf.CDPROD = tbvendas.CDPROD) WHERE tbvendas.TOTPAR=NULL AND tbmasterecf.pedido = tbvendas.campopedidodatbvendas
mas me retornou
The multi-part identifier "tbmasterecf.pedido" could not be bound.
15/10/2013
Jefferson Santos
Antes de rodar o Update verifique a condição (Select) se achar o que quer nele com certeza o Update vai rodar sem problemas.
Se possível nos envie a estrutura correta para que possamos te ajudar.
O campo CDPROD por exemplo de onde surgiu no seu código? O campo pedido na tbVendas também não foi citado.
UPDATE tbvendas SET TOTPAR = (select i.totpar from tbitensecf i inner join tbmasterecf m ON i.CDPROD = m.CDPROD Inner Join tbvendas v on m.pedido = v.pedido )
16/10/2013
Jardiel Silva
campos
vendas ( numero do pedido) tenho este campo na masterecf
cdprod ( codigo do produto) tenho este campo na itensecf
totpar (totalizador da ecf ) este campo ta null preciso pegar o valor da itensecf
tabela masterecf
campos
numcoo ( numero do cupom)
pedido ( numero do pedido)
dtmovi (data de emissao )
tabela itensecf
totpar (totalizador da ecf)
numcoo (numero do cupom)
quero pegar todos os totpar e jogar na tbvendas
16/10/2013
Jardiel Silva
campos
vendas ( numero do pedido) tenho este campo na masterecf
cdprod ( codigo do produto) tenho este campo na itensecf
totpar (totalizador da ecf ) este campo ta null preciso pegar o valor da itensecf
tabela masterecf
campos
numcoo ( numero do cupom)
pedido ( numero do pedido)
dtmovi (data de emissao )
tabela itensecf
totpar (totalizador da ecf)
numcoo (numero do cupom)
cdprod (codigo do produto)
quero pegar todos os totpar e jogar na tbvendas mas para isto preciso me basear no numero do pedido da masterecf e o totpar da itensecf
17/10/2013
Jefferson Santos
Basta criar uma FK - Chave estrangeira, com isso você liga a tabela itensecf e tabela masterecf e este registro liga a tabela tabela tbvendas.
Essa simples "ramificação" resolveria seu problema.
Para isso não precisa nem deletar suas tabelas existentes aplique um Alter Table criando uma constraint.
Clique aqui para fazer login e interagir na Comunidade :)