TRONNER
Cyber Highlander
Registrado
32.2K Mensagens
7.3K Curtidas
Tenta esse:
SELECT nomecampo FROM(SELECT TOP 2 camponome FROM tabelanome ORDER BY nomecampo DESC) WHERE rownum = 2;
atirm82
Novo Membro
Registrado
16 Mensagens
0 Curtidas
Ficou desta forma, mas não retornou nada
SELECT PFUNC.CHAPA, PFUNC.NOME, PFHSTSEC.CODSECAO,
PFUNC.DATAADMISSAO,PFHSTSEC.DTMUDANCA,
(SELECT TOP 2 PFHSTSEC.DTMUDANCA
FROM PFHSTSEC ORDER BY PFHSTSEC.DTMUDANCA DESC),
PFHSTSEC.MOTIVO
FROM
PFUNC
LEFT JOIN PFHSTSEC ON PFHSTSEC.CODCOLIGADA = PFUNC.CODCOLIGADA AND PFHSTSEC.CHAPA = PFUNC.CHAPA
WHERE
PFUNC.CODCOLIGADA = '1'
AND PFUNC.CHAPA = '33311'
AND PFHSTSEC.DTMUDANCA = 2
ORDER BY DTMUDANCA
TRONNER
Cyber Highlander
Registrado
32.2K Mensagens
7.3K Curtidas
TOTVS/RM né ?!
Até aqui faltou o [ WHERE rownum = 2; ] mas faça sem o left join pegano uma tabela simples e daí tenta adaptar para a sua necessidade , senão tenta procurar no google preferencialmente em inglês para mais resultados algo do tipo sql howto select penultimate field table que deve retornar uma boa gama de resultados.
atirm82
Novo Membro
Registrado
16 Mensagens
0 Curtidas
Fiz a alteração abaixo e ele retornou que não pode incluir subquery com mais de um registro:
Mensagem 512, Nível 16, Estado 1, Linha 1
Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.
SELECT PFHSTAFT.OBSERVACAO 'NUM BENEFICIO',PFUNC.CHAPA, PFUNC.NOME, PFUNCAO.NOME ' FUNÇÃO',
PFUNC.CODSECAO, PSECAO.DESCRICAO 'SEÇÃO',PFUNC.DATAADMISSAO,PFHSTAFT.DTINICIO, PFHSTAFT.TIPO,PCODSITUACAO.DESCRICAO 'TIPO BENEFICIO',
PFHSTAFT.MOTIVO, PMUDSITUACAO.DESCRICAO 'MOTIVO AFASTAMENTO', PFHSTAFT.CODCID,
(SELECT TOP 2 PFHSTSEC.DTMUDANCA FROM PFHSTSEC ORDER BY PFHSTSEC.DTMUDANCA DESC)
FROM
PFUNC
LEFT JOIN PFHSTSEC ON PFUNC.CODCOLIGADA = PFHSTSEC.CODCOLIGADA AND PFUNC.CHAPA = PFHSTSEC.CHAPA
LEFT JOIN PSECAO ON PSECAO.CODCOLIGADA = PFUNC.CODCOLIGADA AND PSECAO.CODIGO = PFUNC.CODSECAO
LEFT JOIN PFUNCAO ON PFUNCAO.CODCOLIGADA = PFUNC.CODCOLIGADA AND PFUNCAO.CODIGO = PFUNC.CODFUNCAO
LEFT JOIN PFHSTAFT ON PFHSTAFT.CODCOLIGADA = PFUNC.CODCOLIGADA AND PFHSTAFT.CHAPA = PFUNC.CHAPA
LEFT JOIN PCODSITUACAO ON PCODSITUACAO.CODCLIENTE = PFHSTAFT.TIPO
LEFT JOIN PMUDSITUACAO ON PMUDSITUACAO.CODCOLIGADA = PFHSTAFT.CODCOLIGADA
AND PMUDSITUACAO.CODCLIENTE = PFHSTAFT.MOTIVO
WHERE
PFUNC.CODCOLIGADA = '1'
AND PFUNC.CODSITUACAO <> 'D'
AND PFHSTAFT.DTINICIO IS NOT NULL
AND PFHSTAFT.DTFINAL IS NULL
ORDER BY PFUNC.NOME
ok, valeu pela ajuda