Jump to content
Fórum Script Brasil
  • 0

Dúvidas Para Criar Consultas Sql


lafc
 Share

Question

Bom dia!

Caros amigos, procurei consultas semelhantes no forum, mas não encontrei, então criei este novo tópico para pedir uma ajuda com minha situação.

Resumindo... tenho as seguintes tabelas:

PONTO ( ID(pk) , TAG , DESCRICAO ) --> esses itens assumem estados e isso fica registrado na tabela historico

HISTORICO ( ID(pk) , IDPONTO(fk) , DATA , SITUACAO ) --> Aqui são registrados as situações que os 'PONTOS' assumiram durante seu tempo de vida

Minha dúvida é: Preciso criar uma consulta SQL para retornar uma tabela com todos os PONTOS e qual é a sua situação atual, ou seja, seu "último" registro em histórico (toda instância em ponto deve, no mínimo ter um registro em histórico)

Fiz a seguinte consulta

Select PONTO.TAG , PONTO.DESCRICAO , HISTORICO.DATA , HISTORICO.SITUACAO

from PONTO , HISTORICO

where (PONTO.ID = HISTORICO.IDPONTO) and (HISTORICO.DATA = (select max(DATA) from HITORICO))

O resultado foi: Listagem dos ponto e suas situações da maior data (geralmente a data atual), mas nem todos os pontos mudam de situação diariamente, de modo que ficam fora do resultado da consulta. Gostaria de saber como faço para preservar todos os PONTOS existentes com sua situação mais recente (situação atual)

Obrigado pela anteção

PS. Acho que esse tipo de consulta deve ser parecida com uma consulta para saber o estoque atual de vários itens com base em seus históricos de entrada (compra) e saída (uso/venda/baixa)

Se não souberem a resposta para minha dúvidas, poderiam indicar onde consigo material para pesquisar algo semelhante?

Link to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 0

Fiz a seguinte consulta

Select PONTO.TAG , PONTO.DESCRICAO , HISTORICO.DATA , HISTORICO.SITUACAO

from PONTO , HISTORICO

where (PONTO.ID = HISTORICO.IDPONTO) and (HISTORICO.DATA = (select max(DATA) from HITORICO))

como faço para preservar todos os PONTOS existentes com sua situação mais recente (situação atual)

Select PONTO.TAG , PONTO.DESCRICAO , HISTORICO.DATA , HISTORICO.SITUACAO

from PONTO , HISTORICO

where (PONTO.ID = HISTORICO.IDPONTO) and (HISTORICO.DATA <= (select max(DATA) from HITORICO))

abraço

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Forum Statistics

    • Total Topics
      149.8k
    • Total Posts
      646.6k
×
×
  • Create New...