Recuperar registro do Departamento anterior

5 respostas
ERVER

Boa tarde galera,

Tô penando numa coisa aqui. Tenho as seguintes tabelas:

tabela_departamento com o campo id_depto
tabela_relatorio com os campos id_relatorio
tabela_historico_relatorio com os campos id_relatorio, id_depto, data_entrada_depto
tabela_movimentacao_relatorio com os campos id_historico_relatorio, id_relatorio

Com isso consigo manter todo o historico de movimentações dos relatorios nos departamentos.
O problema é o seguinte: to penando pra executar uma instrução SQL que retorne um relatório que esteja atualmente em um departamento, mas que mostre também o departamento anterior. To achando que vou ter que refazer os relacionamentos. Alguem ai tem alguma dica?

Muito obrigado desde já, abraços.

5 Respostas

CristianPalmaSola10

Com uma instruçao voce naum ira conseguir fazer, mas se se fazer um select no tabela de historico do relatorio usando o campo de data tera a ordem de passagem do relatorio por cada setor que ele ja passou

CristianPalmaSola10

Se voce criar mais um relacionamento na tabela historico_relatorio, por mais um campo departamento anterior, voce conseguira fazer o que quer com uma instrução, lembre-se que o novo campo devera permitir nulo.

ERVER

Olá CristianPalmaSola10,

Então, até pensei nisso, mas pensei numa coisa também: pra cada linha na tabela_historico_relatorio eu vou ter o departamento atual e o anterior. Exemplo:

tabela_historico_relatorio

primeiro registro id_historico_relatorio = 1, id_relatorio = 1, id_depto_atual = 1, id_depto_anterior = null
segundo registro: id_historico_relatorio = 2, id_relatorio = 1, id_depto_atual = 2, id_depto_anterior = 1
terceiro registro: id_historico_relatorio = 3, id_relatorio = 1, id_depto_atual = 3, id_depto_anterior = 2

Parece que fica meio estranho, sempre puxando pro próximo registro o id_depto do registro anterior. Tô tentando pensar em algum relacionamento pra tentar fazer diferente.

Q vc acha?

Brigadão, abraços.

CristianPalmaSola10

Se voce quiser saber o departamento anterior com apenas um consulta sql, naum vejo de outra forma, so colocando o id do departamento anterior

mas se quiser fazer em duas consultas, so deixa como esta, e faz um select ordenando pelas data e le os dois primeiros registros, o primeiro é o atual e o segundo é o imediatamente anterior

ERVER

É, eu também não to achando outra saida. Se bem que, vendo pelo poto de vista da normalização, parece tudo ok ao menos quanto as 3 primeiras formas normais.

Brigadão pela ajuda cara, abração.

Criado 31 de julho de 2012
Ultima resposta 31 de jul. de 2012
Respostas 5
Participantes 2