Jump to content

Recommended Posts

Amigos estou com a consulta que se encontra abaixo, gostaria que aparecesse apenas a última data de consulta do ASO, porém se eu tenho alguns funcionários com consultas antigas

as suas datas também aparecem, como eu posso fazer com que apareça apenas a última consulta do funcionário?

ex:

Robson  21/08/2014

  22/08/2015

23/08/2016

 

dessas 3 queria que aparecesse apenas o 23/08/2016

 

 

SELECT P.CODCOLIGADA,
P.CHAPA,
P.NOME,
VC.DATACONSULTA [DATA ASO],
VC.DATACONSULTA+365 AS [VENC ASO], 
PS.DESCRICAO AS SETOR, 
P.CODFILIAL,
G.NOMEFANTASIA AS FILIAL 
FROM VCONSULTASPRONT VC INNER JOIN
PFUNC P ON P.CODPESSOA=VC.CODPESSOA INNER JOIN
PSECAO PS ON PS.CODIGO=P.CODSECAO AND PS.CODCOLIGADA=P.CODCOLIGADA INNER JOIN
GFILIAL G ON G.CODFILIAL=P.CODFILIAL AND G.CODCOLIGADA=P.CODCOLIGADA
WHERE
P.CODSITUACAO <> 'D'
AND P.CODCOLIGADA = 01 and ps.codigo=:P_codsecao

Share this post


Link to post
Share on other sites

Bom dia.

Usa a função MAX(DATA).

No teu caso: MAX(VC.DATACONSULTA) e

MAX(VC.DATACONSULTA) + 365

Repare no group by embaixo.  É necessário.

SELECT P.CODCOLIGADA,

P.CHAPA,
P.NOME,
MAX(VC.DATACONSULTA) [DATA ASO],
MAX(VC.DATACONSULTA) + 365 AS [VENC ASO], 
PS.DESCRICAO AS SETOR, 
P.CODFILIAL,
G.NOMEFANTASIA AS FILIAL 
FROM VCONSULTASPRONT VC INNER JOIN
PFUNC P ON P.CODPESSOA=VC.CODPESSOA INNER JOIN
PSECAO PS ON PS.CODIGO=P.CODSECAO AND PS.CODCOLIGADA=P.CODCOLIGADA INNER JOIN
GFILIAL G ON G.CODFILIAL=P.CODFILIAL AND G.CODCOLIGADA=P.CODCOLIGADA
WHERE
P.CODSITUACAO <> 'D'
AND P.CODCOLIGADA = 01 and ps.codigo=:P_codsecao

GROUP BY P.CODCOLIGADA, P.CHAPA, P.NOME, PS.DESCRICAO, P.CODFILIAL, G.NOMEFANTASIA

Edited by omar
acerto

Share this post


Link to post
Share on other sites

Fiz algo parecido um tempo:

SELECT *,
       DENSE_RANK() OVER (PARTITION BY insumos_compras.codigo ORDER BY insumos_compras.idoc DESC) AS RANK
FROM   INSUMOS_COMPRAS

WHERE (DENSE_RANK() OVER (PARTITION BY insumos_compras.codigo ORDER BY insumos_compras.idoc DESC)) <= 3

Com este select eu pegava as 3 últimas compras de cada insumo.   INSUMOS_COMPRAS era uma view com dados de diversas tabelas.

DENSE e DENSE_RANK:

https://msdn.microsoft.com/pt-br/library/ms189798.aspx

 

Share this post


Link to post
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
Reply to this topic...

×   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.


  • Similar Content

    • By Adelson joão da Silv
      Pessoal, boa tarde! Estou chegando agora nesse fórum e gostaria se possível de uma ajuda, é que estou tentando fazer uma consulta SQL que retorne os seguintes dados:
      Chapa I Nome I Código do Evento I Descrição do Evento I Valor do Evento Jan/2019 I Valor do Evento Fev/2019 I Valor do Evento Mar/2019.
      Será que alguém tem essa consulta montada? se sim, agradeço desde já se puder disponibilizar.
      Adelson João
    • By Severo Daniel Madruga
      Boa tarde
      Sou novo no mundo dos sistemas Totvs linha RM, estou precisando gerar diversos cubos e raltorios para a versão do RM.Educacional mas estou com uma dificuldade enrome em identificar e entender a identificacao de qual atabela pertençe a qual linha de produtos dentro do banco de dados, gerei um relatorio da tabela GLINKSREL porem existem muitas tabelas que não me levam as respostas esperadas na minha consulta.
      Agradeço a ajuda
    • By Jair - Fórmula
      Estou montando um conceito de testes aqui e usando uma leitura  tipo CONEXAO DE BANCO DADOS com Sentença SQL e me retorna esse erro abaixo. Já ouvi falar, mas não consigo saber exatamente o que colocar no lugar da sentença lá 😕 Por sinal queria mesmo era usar uma  procedure. Ai dependendo já não sei o que fazer neste caso, mas vamos lá... 


      " A sentença SQL da tabela deve conter um comentário para substituição do filtro. /* where */ OU /* and */    "
      Minha sentença é básica, ainda de testes, por exemplo:
      Select CodColigada, Sum(Valor) as Valor 
      From TabTemp
      Where 1=1
      Group by CodColigada
    • By rafaelf
      Esse manual irá te ajudar a identificar:
      - uma tabela a partir de uma tela de cadastro.
      - entender como foi criada a tabela GLINKSREL
      - a executar comandos em SQL e outros.
       
       
      treinamentodesql.pptx
    • By Jair - Fórmula
      Montei uma listagem de tabelas dinâmicas do sistema para quem quiser consultar facilmente o nome de alguma tabela usada para armazenar detalhes de tabelas usadas internamente no sistema para algumas funções, como itens de código de situação de funcionários, tipo de dependente, entre outros.

       
      Vou montar uma outra consulta , provavelmente uma procedure, com informações das tabelas com os detalhes, da GCONSIST, e demais tabelas internas usadas nas tabelas dinâmicas do sistemas. 
       
      Listagem de Tabelas Dinâmicas.xlsx
    • By Camila Caldas
      Pessoal, boa tarde!
       
      Preciso de uma sentença que me traga o hitórico de asos realizados. Alguém pode me ajudar?
       
      Abraços,
      Camila
    • By cezarvinicius
      Boa tarde, pessoal!
      Esse script que estou enviando serve para auxiliar o DP (ou RH) a identificar os funcionários que tiveram os dias pagos inferiores a 30 dias e qual foi o motivo (descontos do mês anterior, atestados médicos), com base nas férias, salário maternidade e atestados. O registro identificado apenas como "MENOR" significa que deve ser verificado pelo DP,  pois existe alguma situação incomum. Esse relatório é mais completo do que verificar somente pelo saldo.
       
    • By Thiago Queiroz
      Boa tarde,
      Gostaria de uma ajuda com um relatório que estou montando,
      no relatório deve ter todos os fornecedores que a empresa DEVE porem não pode ter "puxa" os já pagos, cancelados e com cheque.
      montei um que a condição é flan.statuslan = '0' que vai puxar os resultados que não foram pagos, porem puxa os vencidos e com cheque, e nao acho nada nas tabelas que eu posssa por outra condição para diferenciar.
       
      SELECT FLAN.CODCOLIGADA,
             FLAN.CODCFO,
             FCFO.NOME,
             SUM(FLAN.VALORORIGINAL) AS [VALOR TOTAL]
      FROM FLAN
      INNER JOIN FCFO ON ( FLAN.CODCOLCFO = FCFO.CODCOLIGADA AND FLAN.CODCFO = FCFO.CODCFO )
      WHERE FLAN.PAGREC = '2' AND FLAN.STATUSLAN = '0'
      GROUP BY FLAN.CODCOLIGADA,FLAN.CODCFO,  FCFO.NOME
      ORDER BY FLAN.CODCOLIGADA, FCFO.NOME
    • By Fórum RM
      Quando solicita pra rodar relatórios no Gerador em versões a partir da 12.1.21 e não está instalado o client 11, basta instalar esse arquivo, de acordo com a versão do seu Windows.
      https://www.forumrm.com.br/files/file/387-client-sql-server-2012
       
    • By Cláudio Matias
      Prezados, boa tarde.
      Sou novo aqui no fórum e gostaria, se possível, de expor uma dúvida e caso alguém possa me ajudar, ficarei muito grato.
      Situação: Preciso desenvolver uma consulta SQL que me retorne a jornada planejada do funcionário, montando o quadro de horário em linhas. Utilizei a tabela AJORHOR, porém, ela não atende em todos os casos, já que a jornada da visão do horário pode não corresponder a jornada executada do funcionário. 
      Exemplo do resultado: Linha 1: CHAPA 0001 - SEG - 7:30 - 12:00 - 13:00 - 17:45
                                               Linha 2: CHAPA 0001 - TER - 7:30 - 12:00 - 13:00 - 17:45
                                               Linha 3: CHAPA 0001 - QUA - 7:30 - 12:00 - 13:00 - 17:45
                                               ...
                                               ...
                                               Linha 6: CHAPA 0001 - SAB - COMPENSADO
                                               Linha 7: CHAPA 0001 - DOM - DESCANSO
                                               
       
  • Recent

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.