Jump to content
wesleycsilva

Ajuda com consulta de produtos nas faturas

Recommended Posts

Prezados, tenho uma estrutura de tabela:

 

fatura (todas as faturas)

produto_movimento (todos os produtos que contem na fatura)

produto_opcoes (todos os produtos do sistema)

produto_composto (produtos que são vendidos como combo (vários produtos)) - não preciso utilizar essa tabela

 

Quando vendemos algum produto combo, todos os produtos da fatura (produto_movimento) são desmembrados dentro da fatura, e não há nenhum "controle" para sabermos que os produtos da fatura são combo ou foram vendidos separadamente. Porém, preciso pegar todos os produtos vendidos que são combos, ou seja, preciso consultar todas as faturas que contém todos os produtos do combo na mesma fatura. Tentei de algumas formas e sempre retornam as faturas que contem algum produto dos que contém o combo, e preciso que seja retornado somente as faturas que contem todos os produtos.

 

Abaixo segue um exemplo da consulta.

 

SELECT 
    f.id
FROM
    faturas f,
    produtos_movimento pm,
    produtos_opcoes po
WHERE
    po.id IN (505 , 506, 595)
        AND f.confirmado = 1
        AND f.id = pm.id_fatura
        AND po.id = pm.id_produto;

Share this post


Link to post
Share on other sites

você precisa  sim , creio , da tabela de "combos" , não é que diz se uma fatura é combo ?

 

Não sei o relacionamento mas creio que a solução para por uma contagem distinta dos itens e comptarar com a contagem distinta do "combo"

 

 

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 Robson Tenorio Henriques
      Estou desenvolvendo um sistema para uso particular onde realizo diariamente o cadastro dos seguintes valores no BD conforme abaixo:
      INSERT INTO `viagem`( `viagem_nr`, `viagem_valor`, `viagem_gastos`, `viagem_usuario`, `viagem_data`, `viagem_hora` ) VALUES( '$viagem_nr', '$viagem_valor', '$viagem_gastos', '$viagem_usuario', '$data_atual', '$hora_atual' ) No caso viagem_usuario é a pessoa que preencheu o formulário com as informações.
       
      Até o momento já consegui fazer um relatório do dia atual e do mês atual, abaixo esta o código do relatório diário:
      <?php include_once("../acesso/conexao.php"); include_once("../config.php"); include_once('../acesso/verifica_login.php'); //Seleção dos dados do BD com Filtragem para exibição na tabela $filtro_data = date('Y-m-d'); $result_viagem = "SELECT * FROM viagem WHERE viagem_data = '$filtro_data' ORDER BY viagem_nr"; $resultado_viagem = mysqli_query($conexao, $result_viagem); //Grafico $data1 = ''; $data2 = ''; //Query para pegar os dados da tabela $filtro_data = date('Y-m-d'); $sql = "SELECT * FROM viagem WHERE viagem_data = '$filtro_data' ORDER BY viagem_nr"; $result = mysqli_query($conexao, $sql); //Loop while ($row = mysqli_fetch_array($result)) { $data1 = $data1 . '"'. $row['viagem_valor'].'",'; $data2 = $data2 . '"'. $row['viagem_gastos'] .'",'; } $data1 = trim($data1,","); $data2 = trim($data2,","); ?> <!doctype html> <html lang="pt-BR"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <Meta http-equiv="refresh" content="60" /> <meta name="author" content="<?php echo $author; ?>"> <meta name="email" content="<?php echo $email_author; ?>"> <title><?php echo $title; ?></title> <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.2/Chart.bundle.min.js"></script> <link href="https://getbootstrap.com.br/docs/4.1/dist/css/bootstrap.min.css" rel="stylesheet"> <link rel="canonical" href="https://getbootstrap.com/docs/4.3/examples/navbar-fixed/"> <!-- Bootstrap core CSS --> <link href="https://getbootstrap.com/docs/4.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous"> <style> .bd-placeholder-img { font-size: 1.125rem; text-anchor: middle; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } @media (min-width: 768px) { .bd-placeholder-img-lg { font-size: 3.5rem; } } .container{ font-family: Arial; margin: 5px 5px 30px 5px; padding: 0; color: white; text-align: center; background: #555652; color: #E8E9EB; background: #222; border: #555652 1px solid; padding: 10px; } </style> <!-- Custom styles for this template --> <link href="css/navbar-top-fixed.css" rel="stylesheet"> </head> <body> <!--Inicio da NavBar--> <nav class="navbar navbar-expand-md navbar-dark fixed-top bg-dark"> <a class="navbar-brand" href="#"><?php echo $title; ?></a> <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> <div class="collapse navbar-collapse" id="navbarCollapse"> <ul class="navbar-nav mr-auto"> <li class="nav-item active"> <a class="nav-link" href="../plataforma">Home<span class="sr-only">(current)</span></a> </li> <li class="nav-item dropdown"> <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> VIAGENS </a> <div class="dropdown-menu" aria-labelledby="navbarDropdown"> <a class="dropdown-item" href="../sistema/viagem01.php">1ª Viagem</a> <a class="dropdown-item" href="../sistema/viagem02.php">2ª Viagem</a> <a class="dropdown-item" href="../sistema/viagem03.php">3ª Viagem</a> <a class="dropdown-item" href="../sistema/viagem04.php">4ª Viagem</a> <a class="dropdown-item" href="../sistema/viagem05.php">5ª Viagem</a> <a class="dropdown-item" href="../sistema/viagem06.php">6ª Viagem</a> <a class="dropdown-item" href="../sistema/viagem07.php">7ª Viagem</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="../sistema/encerramento.php">Fechamento</a> </div> </li> </ul> </div> </nav> <!--Fim da NavBar--> <main role="main" class="col-md-12 ml-sm-auto col-lg-12 px-4"> <h4>Bem Vindo, <b><?php echo $_SESSION['nome']; ?></b>.</h4> <div class="d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center pt-3 pb-2 mb-3 border-bottom"> <h1 class="h2">Dashboard</h1> <div class="btn-toolbar mb-2 mb-md-0"> <button class="btn btn-sm btn-outline-secondary dropdown-toggle" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <span data-feather="calendar"></span> Hoje </button> <div class="dropdown-menu"> <a class="dropdown-item" href="#">Mês Atual</a> </div> </div> </div> <div class="container"> <h1><?php echo $title; ?></h1> <canvas id="chart" style="width: 80%; height: 50vh; background: #222; border: 1px solid #555652; margin-top: 10px;"></canvas> <script> var ctx = document.getElementById("chart").getContext('2d'); var myChart = new Chart(ctx, { type: 'line', data: { labels: ["1ª","2ª","3ª","4ª","5ª","6ª","7ª"], datasets: [{ label: 'Receita', data: [<?php echo $data1; ?>], backgroundColor: 'transparent', borderColor:'rgba(46, 204, 113,1.0)', borderWidth: 3 }, { label: 'Gastos', data: [<?php echo $data2; ?>], backgroundColor: 'transparent', borderColor:'rgba(235, 47, 6,1.0)', borderWidth: 3 }] }, options: { scales: {scales:{yAxes: [{beginAtZero: false}], xAxes: [{autoskip: true, maxTicketsLimit: 20}]}}, tooltips:{mode: 'index'}, legend:{display: true, position: 'top', labels: {fontColor: 'rgb(255, 255, 255)', fontSize: 16}} } }); </script> </div> <h2>HOJE</h2> <div class="table-responsive"> <table id="valores" class="table table-striped table-sm display"> <thead> <tr align="center"> <th>ID</th> <th>Data</th> <th>Hora</th> <th>Viagem</th> <th>Valor</th> <th>Gastos</th> <th>Usuário</th> </tr> </thead> <tbody> <?php while ($rows_viagens = mysqli_fetch_assoc($resultado_viagem)) { ?> <tr align="center"> <td><?php echo $rows_viagens['viagem_ID']; ?></td> <td><?php echo date('d/m/Y', strtotime($rows_viagens['viagem_data'])); ?></td> <td><?php echo $rows_viagens['viagem_hora']; ?></td> <td><?php echo $rows_viagens['viagem_nr']; ?></td> <td><?php echo $rows_viagens['viagem_valor']; ?></td> <td><?php echo $rows_viagens['viagem_gastos']; ?></td> <td><?php echo $rows_viagens['viagem_usuario']; ?></td> </tr> <?php } ?> </tbody> </table> </div> </main> </div> </div> <!-- JavaScript do Bootstrap --> <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script> <script>window.jQuery || document.write('<script src="https://getbootstrap.com/docs/4.3/assets/js/vendor/jquery-slim.min.js"><\/script>')</script> <script src="https://getbootstrap.com.br/docs/4.1/assets/js/vendor/popper.min.js"></script> <script src="https://getbootstrap.com.br/docs/4.1/dist/js/bootstrap.min.js"></script> <script src="https://getbootstrap.com/docs/4.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-xrRywqdh3PHs8keKZN+8zzc5TX0GRTLCcmivcbNJWm2rs5C8PRhcEn3czEjhAO9o" crossorigin="anonymous"></script> <!-- Ícones --> <script src="https://unpkg.com/feather-icons/dist/feather.min.js"></script> <script> feather.replace() </script> <!-- Gráficos --> <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.1/Chart.min.js"></script> </body> </html>  
      Porém os mesmo são atualizados automaticamente, eu necessito puxar do BD, todos os dados cadastrados no mês de julho como exemplo, e esse relatório pode ser no formato de uma tabela simples, mas que ele quando gerado fique salvo na plataforma para consultas futuras e não seja alterado.
       
       
       
    • By brunoogm
      Pessoal, vou iniciar um desenvolvimento mobile usando Xamarin
      e gostaria de saber se alguém conhece alguma maneira
      ou tenha algum doc. de como utilizar PHP e MySql (e se necessário Json)
      para realizar um CRUD e a partir daí eu poder me entender com a plataforma...
       
      Desde já obrigado.
       
       
    • By drx
      Olá pessoal!
       
      Me tirem uma dúvida. Já desenvolvo com vb6 já faz algum tempo. E também venho incrementando o conhecimento para desenvolver para web com php e por aí vai.
      A pergunta que não quer calar: Com o VS.NET eu desenvolvo para desktop e web ?
      Por que a pergunta? Porque quero investir tempo em um IDE que me atenda as duas coisas.
      Aguardo
    • By drx
      Olá feras!
       
      Estou recebendo este retorno da conexão: SQLSTATE[HY000] [1049] Base 'dbbase' inconnue
       
      O que é que pode ser?
       
      Tudo certinho. Fala que a dbbase não existe, mas existe.
      Alguém tem uma solução ?
       
      Desde já agradeço.
    • By fabioamorais
      Ola pessoal, sou novo aqui no fórum e também no mundo da programação. 

      Estou criando um sistema de cadastro de clientes em PHP 7 e mysql
      para meu serviço para fins de organização, tenho ja pronto o sistema de cadastro e edição do cliente, tenho login por usuário e senha.
      preciso colocar nesse sistema uma forma que registre a ação e o usuário que fez a ação quando houver uma alteração no cadastro.
      exemplo;
      O usuario (jose) alterou o status de analise para concluído .
      o usuario (pedro) alterou a localização de mesa para armario.
      e que fosse exibido como um tipo de histórico de eventos no próprio cadastro do cliente.
      e nesse campo se ainda tiver como add cometários.
      Usuario (jose): Precisa entrar em contato com o cliente francisco. 
      Usuario (pedro): cliente foi avisado e está sabendo.
       
      quem souber uma forma de fazer isso, ficaria muito grato.

×

Important Information

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