Deivid_hf Posted December 28, 2011 Report Share Posted December 28, 2011 Estou criando uma tabela de vendas,onde o total de uma venda é igual à quantidade*preço. O problema é que o preço está em outra tabela,denominada produto,tem como eu pegar o preço da tabela produto e jogar para dentro da tabela vendas? Quote Link to comment Share on other sites More sharing options...
0 Denis Courcy Posted December 28, 2011 Report Share Posted December 28, 2011 Estou criando uma tabela de vendas,onde o total de uma venda é igual à quantidade*preço. O problema é que o preço está em outra tabela,denominada produto,tem como eu pegar o preço da tabela produto e jogar para dentro da tabela vendas?Se a tabela vendas contém o que foi vendido e o que foi vendido é um produto, então na tabela vendas deverá haver o código do produto vendido, correto?Sabendo disso é só usar um JOIN em seu SELECT para estabelecer a relação entre as tabelas. Quote Link to comment Share on other sites More sharing options...
0 Deivid_hf Posted December 28, 2011 Author Report Share Posted December 28, 2011 (edited) Se a tabela vendas contém o que foi vendido e o que foi vendido é um produto, então na tabela vendas deverá haver o código do produto vendido, correto?Sabendo disso é só usar um JOIN em seu SELECT para estabelecer a relação entre as tabelas.Existem sim o código do produto na tabela vendas,muito obrigado pela ajuda! Desculpe se a pergunta foi relativamente fácil mais estou estudando sql e sempre surge alguma dúvida! Poderia dar um exemplo de como ficaria o comando para calcular o valor da venda na criação da tabela? obrigado! Edited December 28, 2011 by Deivid_hf Quote Link to comment Share on other sites More sharing options...
0 Denis Courcy Posted December 29, 2011 Report Share Posted December 29, 2011 ... Poderia dar um exemplo de como ficaria o comando para calcular o valor da venda na criação da tabela? obrigado!Claro. veja o exemplo abaixo:As tabelas:ProdutoCREATE TABLE produto( identificadorProduto int, nomeProduto varchar(50), precoProduto double(9,2) ) VendasCREATE TABLE venda( identificadorVenda int, identificadorProduto int, dataVenda datetime, quantidadeVendida int ) A consulta SELECT dataVenda, identificadorProduto, nomeProduto, precoProduto, quantidadeVendida, (precoProduto * quantidadeVendida ) AS ValorTotalDoItem FROM venda v INNER JOIN produto p ON p.identificadorProduto = v.identificadorProduto Quote Link to comment Share on other sites More sharing options...
0 Deivid_hf Posted December 29, 2011 Author Report Share Posted December 29, 2011 (edited) Cara é o seguinte,eu devo ter me expressado mal na pergunta. O que eu queria mesmo é que esse calculo fosse criado junto com a tabela. Vou dar um exemplo,sei que não está certo mas é só pra voce ter uma base do que eu quero saber:CREATE TABLE venda( identificadorVenda int, identificadorProduto int, dataVenda datetime, quantidadeVendida int valortotal double(9,2)=quantidadevendida*(select precoproduto from produto inner join venda on produto.identificadorproduto=venda.identificadorproduto);Observe o último campo,era isso que eu queria,que ele calculasse automaticamente o valor total da venda. Edited December 29, 2011 by Deivid_hf Quote Link to comment Share on other sites More sharing options...
0 Denis Courcy Posted December 29, 2011 Report Share Posted December 29, 2011 Estude sobre TRIGGERs Quote Link to comment Share on other sites More sharing options...
0 Deivid_hf Posted December 29, 2011 Author Report Share Posted December 29, 2011 Ok. Obrigado pelo conselho e pela ajuda! Quote Link to comment Share on other sites More sharing options...
0 Denis Courcy Posted December 29, 2011 Report Share Posted December 29, 2011 Ok. Obrigado pelo conselho e pela ajuda!Exemplo de uso do trigger:DELIMITER $$ CREATE /*[DEFINER = { user | CURRENT_USER }]*/ TRIGGER `nomedobancodedados`.`nomedotrigger` BEFORE INSERT ON `nomedobancodedados`.`venda` FOR EACH ROW BEGIN SET NEW.valortotal = NEW.quantidadevendida * (select precoproduto from produto where produto.identificadorproduto = NEW.identificadorproduto) END$$ DELIMITER; Quote Link to comment Share on other sites More sharing options...
Question
Deivid_hf
Estou criando uma tabela de vendas,onde o total de uma venda é igual à quantidade*preço. O problema é que o preço está em outra tabela,denominada produto,tem como eu pegar o preço da tabela produto e jogar para dentro da tabela vendas?
Link to comment
Share on other sites
7 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.