Jump to content
edvaldo joviano de paula

Comparação de valores iguais em linhas diferentes de uma consulta

Recommended Posts

Prezados, boa tarde!

Preciso de uma ajuda sendo possível:

 

Tenho o seguinte cenário em uma consulta ( formação de kits de produtos tendo como produto principal um valor igual, ex: produto 1 é formado pelos produtos 2 e 3)

select codkit, produtos from kit where codkit = 1

---   ----

1    2

1    3

Percebem que o resultado traz o codigo do kit (1) e os produtos que compoem este kit (2,3), porem o produto 2 tambem faz parte do kit 4 junto com o produto 10 e produto 3 faz parte do kit 5 junto com o produto 11 sendo:

kit 1 (2,3)

kit 4 (2,10)

kit 5 (3,11).

 

Eu preciso de uma ajuda sobre alguma função que ao comprar os produtos 2 e 3 e estes estando na mesma nota fiscal (select produtos from notafiscal = x) traga o resultado do kit que estes dois produtos juntos formam, exemplo, ao pesquisar (select produtos from notafiscal = x) nesta nota existir os produtos 2 e 3 traga o resultado 1, se na nota existir os produtos 2 e 10 traga o resultado 4 e se existir na consulta dos itens da nota os itens 3 e 11 o resultado seja 5. Caso na pesquisa eventualmente existir por exemplo 10 unidades do item 2, 5 unidades do item 3 e 5 unidades do item 10, o resultado deve ser 1 e 4 pois 5 unidades do 2+5 unidades do 3 forma o kit 1 e 5 unidades do 2+ 5 unidades do 10 formam o kit 4.

 

Espero ter explicado de forma a ser entendido e agradeço a ajuda.

 

Share this post


Link to post
Share on other sites

Eu não entendi , faça exemplos de casos.

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 Kr3w^
      Pessoal, bom dia
       
      Estou com um problema e quebrando a cabeça para resolver.
       
      Eu preciso filtrar informação de uma tabela e somar as quantidades do período informado e trazer a quantidade total do mês para esse produto. 
       
      Segue um exemplo de como eu queria que viesse.
       
       
      Ao filtrar o período do mês 01/01/2020 a 31/12/2020 ele deveria trazer para mim a seguinte informação.
       
      Item     -     MES    -     Quantidade
      PARAFUSO  - JANEIRO - 40
      PARAFUSO  - FEVEREIRO - 20
      PARAFUSO  - MARÇO - 30
      .....
      PARAFUSO  - DEZEMBRO- 10
       
      Dentro do período informado ele trás a quantidade total do mês, porém, essa quantidade eu faço a soma pelo SUM e como eu preciso trazer o mês falar qual o mes e quantidade, ele trás mais linhas do mesmo mês, isso porque, dentro do mês ele possui registros de diversas datas, e o group by quando vê as datas diferentes não agrupam e só agrupa o que for data igual.
       
      Como posso resolver isso? Alguém tem alguma ideia?
       
       
    • By MarcosAntonio
      Boa tarde !
      estou carregando um arquivo texto numa variável BLOB e preciso manipular em loop, para ler linha a linha e aplicar os SUBSTRs para inserir no banco, mas não sei como fazer o loop, a interação entre as linhas e quando saber o momento de sair do loop, alguém pode me ajudar?

      ex do conteúdo do BLOB:
       
      2AAA02012021123421
      2AAA02012021213453
      2AAA02012021105413
       
      quero por exemplo retirar a informação da linha 2 a partir do quarto caracter e parando no decimo segundo caracteres
    • By Motta
      Oracle is moving its headquarters from Silicon Valley to Austin, Texas
    • By Thiago Btos
      Boa tarde galera.
       
      Fiz um select que tras 4 informações do banco (matricula, nome, data e hora)
      SELECT QD1_MAT, RA_NOME, QD1_DTBAIX AS DATA, QD1_HRBAIX FROM QD1010 QD1 INNER JOIN SRA010 SRA ON RA_MAT = SUBSTR(QD1_MAT, 5) AND SRA.D_E_L_E_T_ <> '*' ORDER BY QD1_DTBAIX, QD1_HRBAIX Retornando os seguintes registros:

       
       
       
      Preciso retornar somente as linhas em amarelo, que seria a seguinte condição.
      Caso tiver alguma matricula igual, trazer somente o registro com a maior data, junto com seu respectivo horário.
       
       
      O mais próximo que consegui chegar foi utilizando o MAX para data e hora, e agrupando o restante dos campos.
      SELECT QD1_MAT,RA_NOME,MAX(DATA), MAX(QD1_HRBAIX) FROM ( SELECT QD1_MAT, RA_NOME, QD1_DTBAIX AS DATA, QD1_HRBAIX FROM QD1010 QD1 INNER JOIN SRA010 SRA ON RA_MAT = SUBSTR(QD1_MAT, 5) AND SRA.D_E_L_E_T_ <> '*' ) GROUP BY QD1_MAT,RA_NOME Porém na hora ele não pega o valor correspondente e sim o valor máximo.

       
       
      Ai estou travado nessa parte, como faço para trazer a hora corresponde sem o restante dos registros?
    • By janir.matheus
      Bom dia, não tenho muita prática com JavaScript (tive contato apenas durante um período no CEDERJ). Ocorre que agora preciso do bendito, e não estou conseguindo sair de uma situação. Vou postar o código:
      <script language="JavaScript"> coordenadas = ""; //Defini essa variável segundo meus conhecimentos, por ter omitido a palavra 'var' ela é global function sucesso(posicao) { coordenadas = posicao.coords.latitude; //document.write(coordenadas); //Aqui dentro ela escreve o valor da latitude } if('geolocation' in navigator) { navigator.geolocation.getCurrentPosition(sucesso); } else { alert("Navegador incompatível com esse recurso"); } document.write(coordenadas); //Aqui eu NÃO consigo pegar o valor </script> Basicamente eu quero salvar os valores de Latitude, Longitude e Timestamp em variáveis para poder usa-las posteriormente. Conto com a vossa ajuda. 
      Obrigado.
×

Important Information

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