Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

prochip

Inserts Automáticos...

Recommended Posts

Para fazer uma venda de um produto, utilizo uma tabela para a linha da Factura/Recibo da venda, ao inserir o código do produto e quantidade vendida, gostaria que ele fosse buscar o preço unitário à tabela produtos e multiplica-se esse preço pela quantidade inserida e coloca-se automáticamente no campo "Sub-Total"! Devo usar um trigger para isso? Como devo fazer?Obrigado! :(

Compartilhar este post


Link para o post
Compartilhar em outros sites

pode-se fazer um join para buscar o preço e multiplicar pelo campo qtdade

 

exemplo com inner join

set nocount on declare @tabItensVenda table (codProd int, qtdade int)
insert into @tabItensVenda (codProd, qtdade) values (1, 1)
insert into @tabItensVenda (codProd, qtdade) values (1, 3)
insert into @tabItensVenda (codProd, qtdade) values (2, 7)
insert into @tabItensVenda (codProd, qtdade) values (1, 9)
insert into @tabItensVenda (codProd, qtdade) values (2, 2)

declare @tabProduto table (codProd int, NomeProd varchar(30), preco int)
insert into @tabProduto (codProd, NomeProd, preco) values (1, 'laranja', 100)
insert into @tabProduto (codProd, NomeProd, preco) values (2, 'maça', 50)

select TIV.codProd, TP.NomeProd, TIV.qtdade, TP.preco, TIV.qtdade * TP.preco as subtotal 
from @tabItensVenda TIV
inner join @tabProduto TP on TP.codProd = TIV.codProd

 

t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pois o problema é que quando estou a inserir o codProd e a quantidade, o valor do subtotal não me aparece automáticamente nessa mesma tabela!??? e é esse o objectivo!

Compartilhar este post


Link para o post
Compartilhar em outros sites

naum é muito comum fazer isso, mas pode-se colocar a coluna total como uma coluna computada (total as [preco] * [qtdade]) e inserir os dados do preço com um select na tabela de produtos.exemplo:

set nocount on declare @tabProduto table (codProd int, NomeProd varchar(30), preco int)insert into @tabProduto (codProd, NomeProd, preco) values (1, 'laranja', 100)insert into @tabProduto (codProd, NomeProd, preco) values (2, 'maça', 50)declare @tabItensVenda table (codProd int, qtdade int, preco int, total as [preco] * [qtdade])insert into @tabItensVenda (codProd, qtdade, preco) select codProd, 1, preco  from @tabProduto where codProd = 1insert into @tabItensVenda (codProd, qtdade, preco) select codProd, 3, preco from @tabProduto where codProd = 1insert into @tabItensVenda (codProd, qtdade, preco) select codProd, 7, preco from @tabProduto where codProd = 2insert into @tabItensVenda (codProd, qtdade, preco) select codProd, 9, preco from @tabProduto where codProd = 1insert into @tabItensVenda (codProd, qtdade, preco) select codProd, 2, preco from @tabProduto where codProd = 2select * from @tabItensVenda

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já resolvi o meu problema com as Vistas!!!! Agora tenho outro, como faço o total dos subtotais????

ae é só fazer um compute sum na coluna q você quer q some

 

select * from @tabItensVenda compute sum(total)

 

t++

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.