Deivid_hf Postado Dezembro 28, 2011 Denunciar Share Postado Dezembro 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? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Denis Courcy Postado Dezembro 28, 2011 Denunciar Share Postado Dezembro 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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Deivid_hf Postado Dezembro 28, 2011 Autor Denunciar Share Postado Dezembro 28, 2011 (editado) 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! Editado Dezembro 28, 2011 por Deivid_hf Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Denis Courcy Postado Dezembro 29, 2011 Denunciar Share Postado Dezembro 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Deivid_hf Postado Dezembro 29, 2011 Autor Denunciar Share Postado Dezembro 29, 2011 (editado) 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. Editado Dezembro 29, 2011 por Deivid_hf Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Denis Courcy Postado Dezembro 29, 2011 Denunciar Share Postado Dezembro 29, 2011 Estude sobre TRIGGERs Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Deivid_hf Postado Dezembro 29, 2011 Autor Denunciar Share Postado Dezembro 29, 2011 Ok. Obrigado pelo conselho e pela ajuda! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Denis Courcy Postado Dezembro 29, 2011 Denunciar Share Postado Dezembro 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; Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
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 para o comentário
Compartilhar em outros sites
7 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.