MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    [Resolvido]Localizar Registro Duplicado com dados diferentes em apenas um coluna

    avatar
    CLEBS
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 17
    Registrado : 15/02/2016

    [Resolvido]Localizar Registro Duplicado com dados diferentes em apenas um coluna Empty [Resolvido]Localizar Registro Duplicado com dados diferentes em apenas um coluna

    Mensagem  CLEBS em 24/8/2019, 03:15

    Olá... amigos eu quero que alguem possa me tirar uma dúvida.

    Eu tenho uma tabela que possui
    cod, nome, cpf, cargo

    Ocorre que cada pessoa registrada pode ter até 2 cargos e apenas 1 dos 2 benefícios
    Nunca pode ter os 2 benefícios...
    Nesse sentido, pode acontecer de passar despercebido e que alguem possa vir a receber os 2 benefícios por erro humano, então eu preciso gerar uma consulta que me mostre quem esta recebendo os 2 benefícios
    Será que alguem pode me ajudar a desatar esse nó.

    Ex:
    cod, nome, cpf, cargo
    1, joao, 11111111111, gerente
    2, joao, 11111111111, insalubridade
    3, maria, 444444444444, garçon
    4, maria, 444444444444, insalubridade
    5, maria, 444444444444, penosidade

    veja que maria tem 2 beneficios, eu preciso detectar maria num universo de 700mil linhas... AJUDA POR FAVOR


    Última edição por CLEBS em 24/8/2019, 06:30, editado 1 vez(es)
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2306
    Registrado : 22/11/2016

    [Resolvido]Localizar Registro Duplicado com dados diferentes em apenas um coluna Empty Re: [Resolvido]Localizar Registro Duplicado com dados diferentes em apenas um coluna

    Mensagem  DamascenoJr. em 24/8/2019, 06:04

    Pela descrição da tabela, aparentemente os cargos estão misturados aos benefícios.

    Tire uma cópia da sua base de dados, na cópia apague as tabela que não importam pra sua dúvida, nas tabelas que interessam, apague registros deixando só os que exemplificam sua dúvida, compacte e repare a base de dados, zipe a cópia, e anexe aqui para sabermos melhor como resolver.

    Obs.: edite deixando informações fictícias, se for o caso.


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    avatar
    CLEBS
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 17
    Registrado : 15/02/2016

    [Resolvido]Localizar Registro Duplicado com dados diferentes em apenas um coluna Empty Localizar Registro Duplicado com dados diferentes em apenas um coluna

    Mensagem  CLEBS em 24/8/2019, 21:27

    Criei um bd fictícios pra se conseguem me dar a resposta:
    Lá eu preciso saber quem é a pessoa que tem

    Salario
    Insalubridade
    Penosidade

    Ou seja quem tem Salario e Insalubridade ou Salario e Penosidade nao precisa aparecer na consulta.
    Eu quero localizar apenas quem tem os 3 quesitos, é isso que eu quero localizar num universo de 700 mil linhas
    Anexos
    [Resolvido]Localizar Registro Duplicado com dados diferentes em apenas um coluna Attachmentteste.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (69 Kb) Baixado 6 vez(es)
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2306
    Registrado : 22/11/2016

    [Resolvido]Localizar Registro Duplicado com dados diferentes em apenas um coluna Empty Re: [Resolvido]Localizar Registro Duplicado com dados diferentes em apenas um coluna

    Mensagem  DamascenoJr. em 25/8/2019, 18:28

    Primeiro vejamos quem recebe PENOSIDADE, retornando o CPF. Chamaremos essa verificação de AAA.
    Código:
    select CPF from tab_cadastro where Evento="PENOSIDADE";

    Depois vejamos quem recebe INSALUBRIDADE, retornando o CPF. Chamaremos essa verificação de BBB.
    Código:
    select CPF from tab_cadastro where Evento="INSALUBRIDADE";

    E por último, façamos uma verificação que nos retorne apenas o CPF e o NOME da tab_cadastro. Chamaremos essa verificação de CCC. Nós a usaremos apenas para listar a consulta de forma completa (CPF e NOME). Como alternativa, poderíamos também ter usado diretamente a tab_cadastro.

    Agora precisamos unir AAA com BBB, e depois unir o resultado com CCC. Toda essa amarração pelo CPF.

    (AAA <> BBB) <> CCC

    Em SQL
    (AAA inner join BBB ON AAA.CPF = BBB.CPF) inner join CCC ON AAA.CPF = CCC.CPF

    O resultado é mais ou menos o filtro da tab_cadastro apenas dos CPFs de quem recebe ao mesmo tempo PENOSIDADE e INSALUBRIDADE. O filtro também retorna a linha de entrada do SALÁRIO. São repetições desnecessárias e podemos tratar isso com o DISTINCT.

    A SQL da consulta final é
    select distinct CCC.CPF, CCC.Nome
    from ((select CPF from tab_cadastro where Evento="PENOSIDADE") as AAA inner join (select CPF from tab_cadastro where Evento="INSALUBRIDADE") as BBB on AAA.CPF = BBB.CPF) inner join (select CPF, Nome from tab_cadastro) as CCC on AAA.CPF = CCC.CPF;

    Criar uma nova consulta, entrar em modo SQL e colar o comando mostrado adaptando quando o nome da tabela e dos campos se necessário.


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    avatar
    CLEBS
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 17
    Registrado : 15/02/2016

    [Resolvido]Localizar Registro Duplicado com dados diferentes em apenas um coluna Empty Re: [Resolvido]Localizar Registro Duplicado com dados diferentes em apenas um coluna

    Mensagem  CLEBS em 25/8/2019, 19:10

    Perfeito!
    Valeu amigão
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2306
    Registrado : 22/11/2016

    [Resolvido]Localizar Registro Duplicado com dados diferentes em apenas um coluna Empty Re: [Resolvido]Localizar Registro Duplicado com dados diferentes em apenas um coluna

    Mensagem  DamascenoJr. em 25/8/2019, 19:29

    O fórum agradece o retorno. Sucesso.


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.

      Data/hora atual: 24/10/2020, 01:30