Ir para conteúdo
Querendo_ser_Nerd

Comparativo na mesma coluna

Recommended Posts

Bom dia, 

 

Prezado, eu estou fazendo um select no qual deve fazer comparação com a embalagem na mesma coluna.

Então existe uma tabela "produto" na qual contem a coluna "embalagem", por exemplo produto 341 contem três tipos de embalagens diferentes com endereço armazenagem diferente.

 

Cod QtdEmbalagem Embalagem 

341           50                      CX

341         1200                    MS

341             1                       UN

 

Eu preciso compara a QtdEmbalagem tudo que for diferente você me mostra se as embalagens do produto estiverem igual ok.

 

usei o critério QtdEmbalagem  <> QtdEmbalagem  mas não retorna, usei Union com as duas tabelas e coloquei 1 e 2 por exemplo, mas sem sucesso, preciso de uma ajuda.

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpe , mas eu ao menos não entendi o problema

Compartilhar este post


Link para o post
Compartilhar em outros sites
select x.cod_produto, k.nome
  from (Select * from produto_endereco a where especie = 'A') x,
       (Select * from produto_endereco a where especie = 'P') y,
       (Select * from produto_endereco a where especie = 'M') z,
       produto k
 where (x.qtdembalagem <> y.qtdembalagem or x.qtdembalagem <> z.qtdembalagem or y.qtdembalagem <> z.qtdembalagem)
   and x.seqproduto = z.seqproduto
  and y.seqproduto = z.seqproduto
   and k.seqproduto = z.seqproduto 
   and x.seqproduto = y.seqproduto
   and k.seqproduto = y.seqproduto
   and k.seqproduto = x.seqproduto
  order by 1

 

Eu tenho este codigo, porém preciso retornar ao usuário "qtdembalagem" que seja diferente entre um mesmo código de produto.

As embalagem a ser comparadas entre si estão na coluna "qtdembalagem"

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente

 

select x.cod_produto, k.nome
  from (Select * from produto_endereco a where a.cod_produto = k.cod_produto and especie = 'A') x,
       (Select * from produto_endereco a where a.cod_produto = k.cod_produto and  especie = 'P') y,
       (Select * from produto_endereco a where a.cod_produto = k.cod_produto and  especie = 'M') z,
       produto k
 where (x.qtdembalagem <> y.qtdembalagem or x.qtdembalagem <> z.qtdembalagem or y.qtdembalagem <> z.qtdembalagem)
   and x.seqproduto = z.seqproduto
  and y.seqproduto = z.seqproduto
   and k.seqproduto = z.seqproduto
   and x.seqproduto = y.seqproduto
   and k.seqproduto = y.seqproduto
   and k.seqproduto = x.seqproduto
  order by 1

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual a chave de "produto" ?!

Compartilhar este post


Link para o post
Compartilhar em outros sites

é 

cod_produto mesmo, o que fiz é 
(Select * from produto_endereco a where a.cod_produto = a.cod_produto and especie = 'A') x,

 

parece que deu certo porem falta alguns produtos aparecer. 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não faz sentido pois a comparação é em cima da mesma coisa.

 

select x.cod_produto, k.nome
  from (Select * from produto_endereco a where especie = 'A') x,
       (Select * from produto_endereco a where  especie = 'P') y,
       (Select * from produto_endereco a where  especie = 'M') z,
       produto k
 where (x.qtdembalagem <> y.qtdembalagem or x.qtdembalagem <> z.qtdembalagem or y.qtdembalagem <> z.qtdembalagem)
   and x.seqproduto = z.seqproduto
  and y.seqproduto = z.seqproduto
   and k.seqproduto = z.seqproduto
   and x.seqproduto = y.seqproduto
   and k.seqproduto = y.seqproduto
   and k.seqproduto = x.seqproduto
   and x.cod_produto = k.cod_produto
   and y.cod_produto = k.cod_produto
   and z.cod_produto = k.cod_produto  
   order by 1

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora


  • Conteúdo Similar

    • Por bernardosaltiel
      SELECT * FROM Cheque t, Cliente rec, Cliente pas, Cliente tit,STATUS s WHERE t.cdTitular = rec.id AND t.cdRecebidoDe = pas.id AND t.cdRepassadoPara = tit.id AND t.cdstatus = s.id
      Tenho esse sql. mas ele não lista os cdrepassado. Para que estão null, quero listar os que tem dados e os que tem campo null.
    • Por dutopfave
      Boa Noite, tenho um sistema de carrinho de compra, mais ajustei para um sistema de vendas/estoque, pega normal, seleciona o produto, tem como atualizar a qtd e excluir, mais o cliente pediu para adicionar um campo q chama valor adicional, q pode ser usado para coloca um valor de frete por exemplo ou taxa (%), ate blz ta certo, mais quando seleciono dois produto, e coloco um valor adicional em 1 dos produtos, ele acaba atualizando os 2 produto, e ele só funciona se coloca o valor no produto em ordem decrescente, se o produto q adiciono primeiro, coloca um valor adicional, ele não funciona, fica como 0, ai se coloca o valor no 2 produto adicionado, ai ele adiciona só q nos dois 2 produto, certo seria mostra o valor adicional no produto desejável, segue o código:
       
      cogido em php que faz todo o funcionamento, foca apenas no  " if(isset($_POST['adicional'])){  "  q é aonde atuliza o valor adicional
      <?php session_start(); if(!isset($_SESSION['carrinho'])){ $_SESSION['carrinho'] = array(); } //adiciona produto //ADICIONAR CARRINHO if($_GET['acao'] == 'add'){ $id = intval($_GET['id']); if(!isset($_SESSION['carrinho'][$id])){ $_SESSION['carrinho'][$id] = 1; }else{ $_SESSION['carrinho'][$id] += 1; } } //REMOVER CARRINHO if($_GET['acao'] == 'del'){ $id = intval($_GET['id']); if(isset($_SESSION['carrinho'][$id])){ unset($_SESSION['carrinho'][$id]); } } //ALTERAR QUANTIDADE if(isset($_POST['up'])){ if(is_array($_POST['prod'])){ foreach($_POST['prod'] as $id => $qtd){ $id = intval($id); $qtd = intval($qtd); if(!empty($qtd) || $qtd <> 0){ $_SESSION['carrinho'][$id] = $qtd; }else{ unset($_SESSION['carrinho'][$id]); } } } } //ALTERAR VALOR ADICIONAL if(isset($_POST['adicional'])){ if(is_array($_POST['prods'])){ foreach($_POST['prods'] as $id => $p_valor_adicional){ $id = intval($id); $p_valor_adicional = intval($p_valor_adicional); if(!empty($p_valor_adicional) || $p_valor_adicional <> 0){ $_SESSION['carrinho'][$id] = $p_valor_adicional; }else{ unset($_SESSION['carrinho'][$id]); } } } } ?>  
      codigo do html e php, com o select listando os produtos:
       
      <div class="row"> <div class="col-lg-12"> <div class="card"> <div class="card-block"> <h4 class="card-title">Resumo do Pedido</h4> <div class="table-responsive m-t-20"> <table class="table stylish-table color-table muted-table"> <thead> <tr> <th>Produto</th> <th class="text-center">Quantidade</th> <th class="text-center">Preço</th> <th class="text-center">Preço Adicional</th> <th class="text-center">Total</th> <th> </th> </tr> </thead> <form action="?id_cliente=<?php echo $_GET['id_cliente']; ?>" method="post"> <tbody> <?php if(count($_SESSION['carrinho']) == 0){ echo '<tr> <td class="center top-20 bottom-40" style="text-align: center; padding: 20px;" colspan="5"><img src="assets/images/icon_cart.fw.png"><br/>Não há produto no carrinho</td> </tr>'; }else{ foreach($_SESSION['carrinho'] as $id => $qtd){ $Seleciona_Produtos = $pdo->prepare("SELECT * FROM tb_sys_produtos WHERE p_id = :id"); $Seleciona_Produtos->bindValue(":id", $id); $Seleciona_Produtos->execute(); if($Seleciona_Produtos->rowCount() > 0){ foreach($Seleciona_Produtos->fetchAll() as $ResAssoc){ $Total += $ResAssoc['p_valor_venda'] * $qtd + $p_valor_adicional; echo '<tr>'; echo '<td class="">'.$ResAssoc['p_nome'].'</td>'; echo '<td class="text-center"><input type="text" size="3" class="text-center" name="prod['.$id.']" value="'.$qtd.'" /></td>'; echo '<td class="text-center">R$ '.number_format($ResAssoc['p_valor_venda'],2,",",".").'</td>'; echo '<td class="text-center"><input type="text" size="10" class="text-center" name="prods['.$id.']" value="'.$p_valor_adicional.'" /></td>'; echo '<td class="text-center">R$ '.number_format($ResAssoc['p_valor_venda'] * $qtd + $p_valor_adicional,2,",",".").'</td>'; echo '<td class="text-center"><a href="?id_cliente='.$_GET['id_cliente'].'&acao=del&id='.$id.'" class="text-inverse btn btn-danger btn-xs" title="" data-toggle="tooltip" data-original-title="Dar Baixa"><i class="ti-trash" style="color:#fff;"></i></a></td>'; echo '</tr>'; } } } ?> <tr> <td><button type"submit" name="up[]" class="btn btn-primary ladda-button" data-style="zoom-out"> <span class="ladda-label fa fa-refresh"></span> Atualizar Quantidade </button> </td> <td><button type"submit" name="adicional[]" class="btn btn-success ladda-button" data-style="zoom-out"> <span class="ladda-label fa fa-refresh"></span> Atualizar Adicional </button> </td> <td></td> <td></td> <td class="text-center"><h5>Subtotal</h5></td> <td class="text-center"><h5><strong>R$<?php echo number_format($Total,2,",","."); ?></strong></h5></td> </tr> <tr> <td>   </td> <td>   </td> <td></td> <td></td> <td class="text-center"><h3>Total</h3></td> <td class="text-center"><h3><strong>R$<?php echo number_format($Total + $taxa,2,",","."); ?></strong></h3></td> </tr> <tr> <td>   </td> <td>   </td> <td></td> <td></td> <td class="text-center"> <a href="fatura_novo_busca.php?id_cliente=<?php echo $_GET['id_cliente']; ?>"><button type="button" class="btn btn-default ladda-button" data-style="zoom-out"> <span class="ladda-label fa fa-search"></span> Nova Busca </button></a></td> <td class="text-center"> <?php if(isset($_POST['enviar'])){ $v_data = date('Y-m-d :H:i:s'); $cliente = $_GET['id_cliente']; $SqlInserirVenda = $pdo->prepare("INSERT INTO tb_sys_vendas (v_codigo, v_cliente, v_valor_total, v_data) VALUES (:v_codigo, :v_cliente, :v_valor_total, :v_data)"); $SqlInserirVenda->bindValue(":v_codigo", $chave_key2); $SqlInserirVenda->bindValue(":v_cliente", $cliente); $SqlInserirVenda->bindValue(":v_valor_total", $Total); $SqlInserirVenda->bindValue(":v_data", $v_data); $SqlInserirVenda->execute(); $vi_id_venda = $pdo->lastInsertId(); foreach($_SESSION['carrinho'] as $ProdInsert => $qtd): $SqlInserirItens = $pdo->prepare("INSERT INTO tb_sys_vendas_itens (vi_id_venda, vi_id_produto, vi_id_cliente, vi_qtd) VALUES (:vi_id_venda, :vi_id_produto, :vi_id_cliente, :vi_qtd)"); $SqlInserirItens->bindValue(":vi_id_venda", $vi_id_venda); $SqlInserirItens->bindValue(":vi_id_produto", $ProdInsert); $SqlInserirItens->bindValue(":vi_id_cliente", $cliente); $SqlInserirItens->bindValue(":vi_qtd", $qtd); $SqlInserirItens->execute(); $calcular = $id; $UpProduto = $pdo->prepare("UPDATE tb_sys_produtos SET p_disponivel_estoque = p_disponivel_estoque - :qtd WHERE p_id = :ProdInsert"); $UpProduto->bindValue(":qtd", $qtd); $UpProduto->bindValue(":ProdInsert", $ProdInsert); $UpProduto->execute(); endforeach; $pagina = 'visualizar_fatura.php?id_fatura='.$vi_id_venda.''; echo "<script>parent.location = '$pagina';</script>"; unset($_SESSION['carrinho']); } ?> <form action="" enctype="multipart/form-data" method="post"> <input type="submit" name="enviar" class="btn btn-danger ladda-button" data-style="zoom-out" value="Finalizar Pedido"> </form></td> </tr> <?php } ?> </tbody> </form> </table> </div> </div> </div> </div> </div>  
    • Por ndias
      alguém sabe como eu faço para criar uma linha igual da imagem anexa para clicar segurando com o botão esquerdo do mouse e arrastar as duas pontas pra esquerda e direita até o valor desejado?

    • Por sreletronica
      boa tarde, pessoal, preciso juntar duas tabelas, sendo a primeira apresentando todos os registros contido nela, com a condição de o que estiver na segunda tabela tem um preço menor com data_ini e dt_fim usando o current_date para definir se esta dentro da condição ou seja, dentro da data vigente..

      exemplo

      tabela1
      ------------------------------------------------------------------------------------------------------
      cod_barras             | descrição                       | preco
      --------------------------------------------------------------------------------------------------------
      00000000000017 | PAO DE SAL                   | 0,50
      00000000000122 | PEPSI 1 5L                     | 5,00
      00000000000987 | TAIOBA                           | 2,00
      00000000001526 | ALHO KG                        | 20,00


      tabela 2 
      ------------------------------------------------------------------------------------------------------
      barras                      | preco                   | DT_ini              |  DT_FIM
      --------------------------------------------------------------------------------------------------------
      00000000000017 | 0,30                       | 03/11/2017 | 10/11/2017
      00000000001526 | 15,00                     | 05/11/2017 | 08/11/2017

      considerando que a current_date = 04/11/2017
      deveria ficar asim..
      ------------------------------------------------------------------------------------------------------
      cod_barras | descrição | preco
      --------------------------------------------------------------------------------------------------------
      00000000000017 | PAO DE SAL | 0,30
      00000000000122 | PEPSI 1 5L | 5,00
      00000000000987 | TAIOBA | 2,00
      00000000001526 | ALHO KG | 20,00



      considerando que a current_date = 07/11/2017
      deveria ficar asim..
      ------------------------------------------------------------------------------------------------------
      cod_barras | descrição | preco
      --------------------------------------------------------------------------------------------------------
      00000000000017 | PAO DE SAL | 0,30
      00000000000122 | PEPSI 1 5L | 5,00
      00000000000987 | TAIOBA | 2,00
      00000000001526 | ALHO KG | 15,00


      considerando que a current_date = 11/11/2017
      deveria ficar asim..
      ------------------------------------------------------------------------------------------------------
      cod_barras | descrição | preco
      --------------------------------------------------------------------------------------------------------
      00000000000017 | PAO DE SAL | 0,50
      00000000000122 | PEPSI 1 5L | 5,00
      00000000000987 | TAIOBA | 2,00
      00000000001526 | ALHO KG | 20,00



      ou seja, preciso que um item que exista na tabela 2 dentro de uma data especifica pegar o preco da tabela 2 e não da tabela 1...

      vai pegar o valor da tabela 1, se não estiver contido na tabela 2 e dentro da data vigente..

      quem puder ajudar... ta um pouco difícil 
    • Por luizpaulobtu
      Boa tarde galera, meu nome é Luiz Paulo, primeiro post aqui no iMasters e chego aqui com uma dúvida bem filosófica... busquei algo mas não encontrei, talvés explicando fique mais fácil de vocês caros colegas e amigos desenvolvedores me ajudarem 
       
      No seguinte exemplo:
      Temos um formulário de cadastro com Nome, Idade, Endereço (campos input texto) e Cidade e Bairro (selects), sendo que bairro popula via AJAX quando o usuário seleciona a Cidade (consulta pelo código e retorna o JSON q faz o append em Bairro)  
      Se tivermos que editar tal registro, qual a melhor maneira vocês sugerem para puxar já preenchido todos os campos, em especial a Cidade e o Bairro (que popular via AJAX), permitindo que ele possa alterar um deles. 
       
      Atualmente eu utilizo um script no final do código q puxa o Bairro no document.ready() com um setTimeout depois de 800ms de carregamento da página, de acordo com o valor já selecionado da Cidade (nesse caso ele já inclui direto o valor no HTML via echo do PHP, que faz um selected="selected" básico hehehe)
       
      Fiquem a vontade para dar sugestões e soluções, Abraço!
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.

Este projeto é mantido e patrocinado pelas empresas:
Hospedado por: