Jump to content
Fórum Script Brasil
  • 0

Pegar valor de outra tabela


Deivid_hf

Question

7 answers to this question

Recommended Posts

  • 0
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.

Link to comment
Share on other sites

  • 0
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 by Deivid_hf
Link to comment
Share on other sites

  • 0
... 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:

Produto

CREATE TABLE produto(
identificadorProduto int,
nomeProduto varchar(50),
precoProduto double(9,2)
)
Vendas
CREATE 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

Link to comment
Share on other sites

  • 0

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 by Deivid_hf
Link to comment
Share on other sites

  • 0
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;

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...