Últimos registros em select sem usar limit
Boa noite amigos! Estou precisando de uma ajuda. Tenho 4 tabelas: usuários, problemas, evolução, atendimento. A tabela evolução está relacionada com a de problemas e de atendimento, e a de problemas com a de usuários. Estou trabalhando com delphi e o que preciso é que seja mostrado na dbgrid o ultimo registro de evolução (que teoricamente seria o último atendimento feito para aquele usuário) de cada um dos problemas do usuário. Ex.: Para o usuário A um grid com os problemas dele Problema 1 - última evolução Problema 2 - última evolução Para o usuário B um outro grid com os problemas dele. Não posso usar limit pois um usuário poder ter n problemas. Até tinha feito funcionar o esquema, fazia um filtro pelo código do usuário na tabela de atendimento, dava um last, pegava o ID desse atendimento e fazia um novo filtro na tabela de evolução. Ele traz os resultados certinho. Só que dessa forma, se eu cadastrar um novo problema, ele nunca irá aparecer na grid pra ver a evolução - esse problema nao necessariamente precisa ser cadastrado em um atendimento, entao o filtro iria falhar aqui. Da mesma forma, se eu cadastro um problema durante o atendimento, ele nao aparece na grade - não tem evolução, além de que a grade está mostrando os registros do último atendimento. Por fim, quando faço uma alteração na evolução do problema, ela continua na grid, e eu gostaria que sumisse dali pra nao confundir o operador. Não sei se ficou claro... Já pensei várias formas de contornar isso e ainda não achei solução.
Discussão (1)
Carregando comentários...