Ajuda em SQL
21/11/2009
0
setor.nome, historicoenvelope.data, historicoenvelope.hora from
historicoenvelope, envelope, funcionario, setor
where setor.codsetor = historicoenvelope.codsetor and
funcionario.codfuncionario = historicoenvelope.codfuncionario and
envelope.codenvelope = historicoenvelope.codenvelope
order by historicoenvelope.codmovimento Então pessoal, eu gostaria de fazer a pesquisa para selecionar somente os dois registros marcados com a seta vermelha, ou seja, somente os registros onde o codmocimento for o maior de cada codenvelope. Abraços, Wanderson Ramos
Wanderson Queiroz
Posts
27/11/2009
Adriano Silva
O nome da pessoa que vai aparecer será sempre o mesmo quando o "codEnvelope" for igual?
Se for igual é simples basta você usar um max e group by.
Exemplo:
SELECT max(codMovimento), codEnvelope, Nome
FROM tabela
GROUP BY codEnvelope, Nome
Boa diversão...
Abraço...
28/11/2009
Wanderson Queiroz
setor.nome, historicoenvelope.data, historicoenvelope.hora from
historicoenvelope, envelope, funcionario, setor
where setor.codsetor = historicoenvelope.codsetor and
funcionario.codfuncionario = historicoenvelope.codfuncionario and
envelope.codenvelope = historicoenvelope.codenvelope
group by historicoenvelope.codmovimento, envelope.codenvelope Se você puder dar uma olhada e me ajudar, ficarei muito grato. Abraços, Wanderson Ramos Queiroz Buritizeiro Minas Gerais Brasil
03/12/2009
Bruno Batista
verifica se assim funcionará.
select h.codmovimento,
e.codenvelope,
f.nome,
s.nome,
h.data,
h.hora
from historicoenvelope h,
envelope e,
funcionario f,
setor s
where s.codsetor = h.codsetor
and f.codfuncionario = h.codfuncionario
and e.codenvelope = h.codenvelope
and (h.codmovimento,e.codenvelope) in (select max(h1.codmovimento),
h1.codenvelope
from historicoenvelope h1
group by h1.codenvelope)
group by h.codmovimento,
e.codenvelope
Atenciosamente,
Bruno Moreira Batista.
08/12/2009
Wanderson Queiroz
Valeu pela ajuda, mas está dando o seguinte erro:
Error: *** IBPP::SQLException ***
Context: Statement::Prepare( select h.codmovimento,
e.codenvelope,
f.nome,
s.nome,
h.data,
h.hora
from historicoenvelope h,
envelope e,
funcionario f,
setor s
where s.codsetor = h.codsetor
and f.codfuncionario = h.codfuncionario
and e.codenvelope = h.codenvelope
and (h.codmovimento, e.codenvelope) in (select max(h1.codmovimento),
h1.codenvelope
from historicoenvelope h1
group by h1.codenvelope)
group by h.codmovimento,
e.codenvelope )
Message: isc_dsql_prepare failed
SQL Message : -104
Invalid token
Engine Code : 335544569
Engine Message :
Dynamic SQL Error
SQL error code = -104
Token unknown - line 14, column 23
,
18/12/2009
Emerson Nascimento
select
he.codmovimento,
e.codenvelope,
f.nome Funcionario,
s.nome Setor,
he.data,
he.hora
from
historicoenvelope he
inner join
envelope e on e.codenvelope = he.codenvelope
inner join
funcionario f on f.codfuncionario = he.codfuncionario
inner join
setor s on s.codsetor = he.codsetor
where
he.codmovimento = (select max(h1.codmovimento)
from historicoenvelope h1
where h1.codenvelope = he.codenvelope)
18/12/2009
Wanderson Queiroz
Boa noite,
VOCÊ É O CARA!!! Funcionou perfeitamente. Era isso que eu precisava.
V A L E U P E L A A J U D A !
Abraços,
Wanderson Ramos Queiroz
Buritizeiro - MG
Brasil
Clique aqui para fazer login e interagir na Comunidade :)