Jump to content
valter.junior

Não tenha valor posterior (sql oracle)

Recommended Posts

SQL ORACLE

 

Prezados,

Boa Tarde.

 

Tenho uma tabela que guarda informações sobre a carga de um produto, trazendo:

1- Nome do produto

2- O tipo de carga (Envio e Recebimento)

3- A data da carga

 

Gostaria de criar um select que me traga todos os produtos que tenham uma carga de recebimento e que após a ultima carga de recebimento não tenha nenhuma carga de envio.

 

Poderiam me ajudar com essa consulta?

 

 

 

 

Share this post


Link to post
Share on other sites

Uma solução   (com exists) ...


 

select *
from cargas c1
where tipo = 'RECEBIMENTO'
and exists (select null
            from cargas c2
            where c2.produto = c1.produto
            AND C2.tipo = 'ENVIO'    
            AND C2.DATA_CARGA > C1.DATA_CARGA )  

 

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 whoopic
      Olá a todos!
      Estou a tentar perceber qual a melhor abordagem para:
      (Campos/Colunas:)
      A - Moeda
      B - Igual a A
      C - (A+B)/2
      D - Caixa de seleção7Checkbox : Se "ligada": C=C/2
       
      Preciso que estes campos sejam "persistentes", para que os possa usar em relatórios.
       
      Pensei em colunas "computadas". Consigo realizar tudo isto com essa abordagem?
      Tentei por exemplo no campo B, usando o campo de fórmula para coluna computada e inserindo o nome da coluna A.
       
       
      Pode alguém dar-me um empurrãozinho?
      Obrigado desde já.
       
    • By TheRonaldoStar
      Olá, Venho aqui de novo para tirar uma dúvida que creio eu ser muito simples porem não sei como aplicar!;
      Como diz no título do post eu gostaria de fazer um select de cadastros cujo o id do usuário online está nesta coluna,
      Porem neste campo contem 2 id separados por uma ' , '. Sendo assim não dar para mim fazer uma pesquisa com com a tag WHERE id ='Valor'
      Em fim eu quero ajuda para selecionar todos os cadastro cujo o id do usuário online está por EX: Sou o usuário 1 existe dois cadastros que tem meu id: [1, 2] e [2, 1];
      Alem de pesquisar todos os cadastros que tenha meu id nesta coluna eu quero que não tenha interferência ou listar cadastro do usuário 1 se eu for o usuário 21 por ex.
       
      Qual quer ajuda é bem vinda!
      Atenciosamente,
      ~Ronaldo
    • By Kennyguedes
      Olá, preciso transformar a seguinte subquery para utilizar como uma table no join
       
      NVL((SELECT X.MPE_META
          FROM (SELECT MPE_IDC_ID, MPE_META
                FROM META_PERSONALIZADA_SLA M
               ORDER BY M.MPE_META DESC) X
          WHERE ROWNUM = 1
          AND X.MPE_IDC_ID = IDC_ID
          AND X.MPE_META <= APR_NEGOCIACAO_SLA), IDC_META)
       
      eu utilizo esse trecho em vários lugares dentro da minha procedure, então queria utilizar como "LEFT JOIN", assim o custo seria menor da procedure
      caso seja possivel e alguem puder ajuda
    • By TheRonaldoStar
      Oii, fala ae pessoal!!
      Alguém pode me ajudar com uma coisa por favor?;
      Seguinte!, eu anteriormente fiz uma pergunta aqui no fórum recorrente a isso, mas eu conseguir uma solução parcial.
      Que era, fazer uma listagem de todos os cadastros e fazer a junção dos cadastros com uma coluna igual, Ou seja existem duas colunas [DE e Para], que recebem o id de quem está recebendo ou que está enviando a mensagem, eu conseguir fazer a tal listagem por grupo mas o problema que estou tendo é: que so faz o agrupamento de as colunas contiver o id por ex: [De = "1" e Para ="2"].
      Atualmente estou usando a codificação deste Jeito:
       
      $sql_2 = $db -> prepare("SELECT * FROM privado WHERE (Para = '$Meu_id') Or (De = '$Meu_id') GROUP BY Para, De DESC"); $sql_2 -> execute(); Esta consulta como pode ver ele busca todos os cadastros que tenha o meu ID ou seja do usuário online!, Após a consulta ele vei obter em um "while" somente o [ Id_De eo Id_Para ] desta forma:
      while($dados_2 = $sql_2 -> fetch(PDO::FETCH_OBJ)){ $Id_De = ($dados_2 -> De); $Id_Para = ($dados_2 -> Para); } Mas em fim eu gostaria de saber como mostrar somente um resultado ou seja o ultimo resultado que tiver o meu ID em ambas colunas [ Id_De ou Id_Para ].
      Antes de vocês me recomendar a função DESC LIMIT 'valor' saiba eu quero que liste todos os usuários que enviou ou recebeu minha mensagem não somente 1 ou seja se eu mandar um mensagem para o usuário 2 e ele me retornar uma mensagem vai mostrar somente o ultimo registro que tenha o meu ID e o id dele.
       
      Atenciosamente,
      ~Ronaldo
       
    • By Aureo Almeida
      Eu possuo em uma página em que existe um menu, com categorias inseridas a partir de um banco de dados, e na mesma página uma listagem de produtos.
      A função deste menu é enviar para a clausula where do SQL que lista os produtos parâmetros que permitam filtro dos produtos. Faço isso com a variável $_GET, da seguinte forma:
      $sub_id = $_GET['sct_id']; Isso funciona certinho, porém o problema é que quando a página é carregada, a não ser que seja feita uma opção no menu para selecionar os produtos, a listagem deles volta vazia e com o seguinte erro:
      array(0) { } Notice: Undefined index: sct_id in D:\XAMPP\htdocs\projeto\arq\cosm.php on line 76 Tentei desenvolver as seguinte condições que mudassem o SQL,  mas não consegui fazer dar certo:
      if(empty($sub_id = array(0))) $sql = "SELECT * FROM psd_produtos WHERE ctg_id = 1"; else { $sql = "SELECT * FROM psd_produtos WHERE ctg_id = 1 AND sct_id = '$sub_id'"; } Como fazer com que o SQL que orienta a consulta quando a página for carregada seja um, e quando passo parâmetro via GET seja outro?
×

Important Information

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