SQL - ajuda

10/09/2004

0

SQL

Tenho uma tabela de cadastro de documentos (id_documento, documento) e uma outra tabela de movimentação dos documentos cadastrados (id_mov_documento, id_documento, movimentação_documento)
Preciso de uma consulta SQL que me retorne todos os documentos cadastrados que tenham a ultima movimentação = ´Remessa a Diretoria Executiva´[color=blue:f184d62bef][/color:f184d62bef]


Brilhante

Brilhante

Responder

Posts

11/09/2004

Afarias

uma solução (não me preocupei com otimização) é::

1) crie uma view como abaixo::

create view ultimas_movimentacoes (doc, mov) as
select id_documento, max(id_mov_documento) from movimentação
group by id_documento;


2) execute um dos selects abaixo::

select * from documentos where id_documento in
select u.doc from ultimas_movimentacoes u, movimentação m
where m.id_mov_documento=u.mov
and m.movimentacao_documento=´Remessa a Diretoria Executiva´;

ou

select d.* from ultimas_movimentacoes u
inner join movimentação m on (m.id_mov_documento=u.mov)
inner join documentos d on (d.id_documento=m.id_documento)
where m.movimentacao_documento=´Remessa a Diretoria Executiva´;


T+


Responder

APRENDA A PROGRAMAR DO ZERO AO PROFISSIONAL

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar