Pessoal estou com uma duvida, já pesquisei em alguns tópicos, mas não consegui solucionar o meu problema, se alguém puder me ajudar agradeço.
Meu problema é o seguinte:
Possuo uma tabela como a do exemplo abaixo onde possuo 25 itens, esta tabela eu uso para montar uma segunda tabela, ou seja com o id_relatorio eu alimento a tabela com o id_relacao_atividade, sendo assim o id_relatorio aparece "n" vezes na tabela relacao_atividade.
Sendo assim eu necessito listar todos os ultimos registros da relacao_atividade que contenham apenas um iten id_relatorio, 'Se e somente se' atender aos seguintes requisitos:
id_status = '1' AND (resp_1 = '1' OR resp_2 = '1' OR resp_3 = '1' OR resp_4 = '1')
Ou seja, eu quero somente os ultimos registro de cada GROUP BY id_relatorio se e somente se atender a linha descrita acima.
Para que minha busca seja correta apenas os id_relacao_atividade 2 atende minha busca.
O numero_linha deve ser o máximo valor dentro do requisitos de busca assim eu garanto qeu peguei o ultimo valor dentro dos requisitos.
já tentei assim:
SELCT MAX(numero_linha) FROM relacao_atividade WHERE id_status = '1' AND (resp_1 = '1' OR resp_2 = '1' OR resp_3 = '1' OR resp_4 = '1') GROUP BY id_relatorio
Porem ele também me retorna valores que não são os últimos de cada id_relatorio.
Por isso minha afirmação "Se e somente se" atender meus requisitos.
Pergunta
Gerson Silva
Bom dia galera...Tudo bem...
Pessoal estou com uma duvida, já pesquisei em alguns tópicos, mas não consegui solucionar o meu problema, se alguém puder me ajudar agradeço.
Meu problema é o seguinte:
Possuo uma tabela como a do exemplo abaixo onde possuo 25 itens, esta tabela eu uso para montar uma segunda tabela, ou seja com o id_relatorio eu alimento a tabela com o id_relacao_atividade, sendo assim o id_relatorio aparece "n" vezes na tabela relacao_atividade.
Sendo assim eu necessito listar todos os ultimos registros da relacao_atividade que contenham apenas um iten id_relatorio, 'Se e somente se' atender aos seguintes requisitos:
id_status = '1' AND (resp_1 = '1' OR resp_2 = '1' OR resp_3 = '1' OR resp_4 = '1')
Ou seja, eu quero somente os ultimos registro de cada GROUP BY id_relatorio se e somente se atender a linha descrita acima.
Exemplo reduzido da minha tabela:
id_relacao_atividade - id_relatorio - id_status - resp_1 - resp_2 - resp_3 - resp_4 - numero_linha
[ 1 ] - [ 1 ] - [ 2] [ 1 ] - [ 1 ] - [ 0 ] - [ 0 ] - [ 1 ]
[ 2 ] - [ 1 ] - [ 1 ] - [ 1 ] - [ 1 ] - [ 1 ] - [ 1 ] - [ 2 ]
[ 3 ] - [ 2 ] - [ 3 ] - [ 3 ] - [ 1 ] - [ 0 ] - [ 0 ] - [ 1 ]
[ 4 ] - [ 3 ] - [ 1 ] - [ 3 ] - [ 1 ] - [ 1 ] - [ 1 ] - [ 1 ]
[ 5 ] - [ 3 ] - [ 2 ] - [ 1 ] - [ 1 ] - [ 1 ] - [ 1 ] - [ 2 ]
Para que minha busca seja correta apenas os id_relacao_atividade 2 atende minha busca.
O numero_linha deve ser o máximo valor dentro do requisitos de busca assim eu garanto qeu peguei o ultimo valor dentro dos requisitos.
já tentei assim:
SELCT MAX(numero_linha) FROM relacao_atividade WHERE id_status = '1' AND (resp_1 = '1' OR resp_2 = '1' OR resp_3 = '1' OR resp_4 = '1') GROUP BY id_relatorio
Porem ele também me retorna valores que não são os últimos de cada id_relatorio.
Por isso minha afirmação "Se e somente se" atender meus requisitos.
Obrigado e até
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.