Ir para conteúdo
Fórum Script Brasil
  • 0

Dúvidas Para Criar Consultas Sql


lafc

Pergunta

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 para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 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 para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...