Jump to content
Fabiojdc

Query

Recommended Posts

Tenho esses campos em uma tabela, quando faço a consulta, faço pelo campo cod_mt 32185, porem ao enxergar que no cod_vd existe 2X o codigo 32183 eu preciso que na query me traga a informação do cod_mt 32176, porem nao estou conseguindo fazer essa query, alguem consegue me ajudar?obrigado.

 

ID   cod_mt  cod_vd  QTD

1    32176    32183      1    
4    32185    32183      1    
9    32186    32182      1    

 

Se eu uso essa query 

 

select item_ordem_producao.prod_codigo, PRODUTO_MAT_PRIMA.prod_codigo_venda from item_ordem_producao
left join PRODUTO_MAT_PRIMA on item_ordem_producao.prod_codigo = PRODUTO_MAT_PRIMA.prod_codigo_mat_prima
where PRODUTO_MAT_PRIMA.prod_codigo_mat_prima in (32185)
 

me traz o resultado abaixo:

 

32185    32183
32185    32183

 

Sendo que no lugar do primeiro 32185 teria que me trazer 32176

Share this post


Link to post
Share on other sites

Fabio, a 1a tabela foi extraída de uma query ou foi montada para explicar o conjunto de dados?

 

Estou questionando isso, pois olhando a tabela me parece que o resultado que você precisa é exatamente a tabela, sem a primeira e a última coluna, certo?

 

se você montou essa tabela usando uma query sugiro fazer o seguinte ajuste no resultado dessa tabela (no exemplo vou chamar essa tabela de TABELA1):

 

-- [exemplo A]: deve retornar apenas 1 linha

SELECT * FROM TABELA1 WHERE cod_mt= 32185

 

-- [exemplo B]: deve retornar 2 linhas

SELECT * FROM TABELA1 WHERE cod_vd= 32183

 

--sugestão de solução, assumindo a premissa que a 1a tabela você extraiu com uma query

 

1. Crie uma procedure que tenha 2 parâmetros, sendo que um é o filtro e o outro é o tipo da consulta que você quer fazer

 

-- definindo o valor do filtro

declare @filtro int

set @filtro = 32185

 

declare @tipo int

 

-- defina o @tipo = 1 se a busca for pela materia prima (igual ao Exemplo A)

SET @tipo = 1 --materia prima

 

-- OU defina o @tipo = 2 se a busca for pelo código de venda (igual ao Exemplo B)

SET @tipo = 2 --código de venda

 

Ao definir essas duas variáveis, você pode fazer a consulta abaixo que dará certo.

 

SELECT * FROM TABELA1 WHERE ( cod_vd= @filtro and @tipo = 1) or ( cod_vd= @filtro and @tipo = 2)

 

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 drx
      Olá Pessoal!
       
      Eu estou tentando instalar o sgbd navicat para acessar meu banco de dados, porém sem sucesso. 
      Pergunta: Para usar o sgbd navicat é necessário instalar o mysqlserver  ou o navicat já traz no pacote dele ao instalar?
      Aguardo.
       
    • By renzogr
      Olá Masters
       
      Estou precisando incluir uma string num campo de uma tabela mysql.
      É o seguinte:
      Tenho um campo contendo instruções de uma receita culinária e preciso colocar a string "-- " (sem aspas) no início de cada linha do campo das instruções.
      Já tentei o 
      UPDATE tabela SET variavel = concat("-- ", variavel); mas ele só altera a primeira linha...  Preciso encontrar as demais linhas dentro do campo e colocar a string na frente.
       
      Alguém tem uma ideia de como fazer ?
       
    • By mayko@123
      TENHO O SEGUINTE SELECT :   select loja,NOME,PREÇO from produtos  GROUP BY NOME,LOJA order by NOME,PREÇO ASC ;
      E O RETORNO É : 
       
      LOJA             NOME                            PREÇO
      A banana prata 1,98 C                  banana prata 1,99 B          COCO VERDE 1 123   COCO VERDE 1 C  COCO VERDE 1 C   laranja pera rio 0,49 A       laranja pera rio 1,99 123 laranja pera rio 1211 B LARANJA SERRA DAGUA 1,99 C LARANJA SERRA DAGUA 2,99 B maca fuji 2,50 C maca fuji 2,97 A maca fuji 2,99 B MAMAO 1,97 C MAMAO 2,10 123 PESSEGO 12 C PESSEGO 2,30 A PESSEGO 234 C UVA 1212 123 UVA 212 A UVA 3,25  
      QUERIA QUE ME RETORNASSE APENAS O PRIMEIRO PRODUTO,PREÇO DE CADA LOJA POR EXEMPLO : A LOJA 'A'  VENDEU A BANANA MAIS BARATA, A LOJA 'B' VENDEU O COCO VERDE MAIS BARATO A LOJA 'C' A LARANJA..... e assim por diante , senão o retorno vai ficar muito extenso pois vai ser muitas lojas e produtos.
    • By lordstarlight
      Olá pessoal,
       
      Tenho uma base de dados onde há um campo decimal que guarda um valor tipo (10.20).
      Quanto tento retornar o valor multiplicado por quantidade (10.2 * 2) retorna apenas 20,00
       
      $subTotal = $qtdeItem * $precoProduto;
      echo  'R$ '.number_format($subTotal,2,",",".");?><br>
       
      Como faço para retornar 20,40 ?
    • By alexandre.koupaka
      Salve galera,
      Estou com a tarefa de criar uma infra de alta disponibilidade de MariaDB,
      Para os servidores de MariaDB pretendo utilizar Galera, alguém tem uma sugestão melhor?
      Outra duvida seria nos pros e contras de usar MariaDB em Multi-master e Master-Slave?
      Para o proxy e Balanceador de carga tenho duvida entre HaProxy que trabalha na camada OSI de transporte, Proxy e MaxScale, ambos trabalham na camada de aplicação,
      na quesito velocidade acredito que o HaProxy seja mais rápido, porém não tem muitas funcionalidade como o outros dois, quais vcs me aconselham?
       
×

Important Information

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