Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

guilhermecr

Query, busca o ultimo status de um processo em outra tabela

Recommended Posts

Olá pessoal,

trabalho em um órgão público, tenho um tabela com milhares de processo e uma outra tabela que guarda o status desses processos, ou seja, na tabela de processos eu tenho os campo 'processo_id' e 'processo_descricao' e na outra tabela tenho 'status_id', 'fk_processo', 'data'

 

 

PROCESSOS_______________

| processo_id | processo_descricao |

-------------------------------------------

| 1 | Primeiro Processo |

| 2 | Segundo Processo |

 

 

 

 

STATUS_____________________

| status_id | fk_processo | data |

----------------------------------------------

| 1 | 1 | 05/08/2005 |

| 2 | 2 | 10/08/2005 |

| 3 | 1 | 12/08/2006 |

 

 

 

O que eu quero é uma query que me retorne todos processos da tabela PROCESSOS e o último status de cada processo da tabela STATUS. como faço isso. Se puderem colocar um código ai de exemplo ficarei muito grato!

 

Value,

Guilherme

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja se isto lhe dá uma luz?

 

CREATE TABLE #PROCESSOS (processo_id INT, processo_descricao VARCHAR(40))INSERT INTO #PROCESSOS (processo_id ,processo_descricao) VALUES (1,'Primeiro Processo')INSERT INTO #PROCESSOS (processo_id ,processo_descricao) VALUES (2,'Segundo Processo')CREATE TABLE #STATUS(status_id INT,  fk_processo INT,  data DATETIME)INSERT INTO #STATUS(status_id,fk_processo,data) VALUES (1,1,'05/08/2005')INSERT INTO #STATUS(status_id,fk_processo,data) VALUES (2,2,'10/08/2005')INSERT INTO #STATUS(status_id,fk_processo,data) VALUES (3,1,'12/08/2006')SELECT 	MAX(processo_descricao),		MAX(status_id),		MAX(data)  FROM 	#PROCESSOS  P,		#STATUS		SWHERE	P.processo_id = S.fk_processo

Jothaz

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não era isso que eu queria, essa query ai tá retornando o último processo e o ultimo status. Eu quero todos os Processos cada um com seu último status.Acho que tem que usar subquery mas não sei como.Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não era isso que eu queria, essa query ai tá retornando o último processo e o ultimo status. Eu quero todos os Processos cada um com seu último status.Acho que tem que usar subquery mas não sei como.Valeu

é só agrupar por processo_id
SELECT	 MAX(processo_descricao),		MAX(status_id),		MAX(data)  ,	processo_idFROM	 #PROCESSOS  P,		#STATUS		SWHERE	P.processo_id = S.fk_processogroup by processo_id

Compartilhar este post


Link para o post
Compartilhar em outros sites

A proc ficou genérica mas fazendo a relação entre as tabelas dai é só fazer o que o eriva_br sugeriu.Você pode agrupar ou filtar por qq campo.Intel +Jothaz

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.