locked
Usar select sem retornar linhas duplicadas RRS feed

  • Pergunta

  • Ola estou com um problema que esta me dando um pouco de dor de kbç estou tentando descobrir qual meu erro de usar o select e ele retornar varias linhas mas tudo igual por exemplo tenho 2 registro no meu banco ele retorna 2 linhas de cada tenho 3 registros me retorna 3 de cada e assim por diante e estou usando este cod

    	SELECT 
    		IDPessoaCliente,
    		CpfCnpj,
    		Nome,
    		IDPessoaTipo,
    		DescricaoTipo
    	FROM
    		tblCliente
    	JOIN
    		uvwPessoaFisicaJuridica ON Nome = Nome

    e dei uma pesquisada me disseram pra usar assim

    	SELECT DISTINCT
    		IDPessoaCliente,
    		CpfCnpj,
    		Nome,
    		IDPessoaTipo,
    		DescricaoTipo
    	FROM
    		tblCliente
    	INNER JOIN
    		uvwPessoaFisicaJuridica ON Nome = Nome

    e novidade nao mudou em nada  alguem pode me ajudar nisso

    obrigado

    sábado, 5 de março de 2016 13:50

Respostas

  • SELECT DISTINCT
    		IDPessoaCliente,
    		CpfCnpj,
    		C.Nome,
    		IDPessoaTipo,
    		DescricaoTipo
    	FROM
    		tblCliente C
    	INNER JOIN
    		uvwPessoaFisicaJuridica P ON C.Nome = P.Nome
    Att,

    Antero Marques

    sábado, 5 de março de 2016 14:14
  • Dunki,

    você digitou errado.Vou tentar deixar mais claro:

    SELECT DISTINCT
    		IDPessoaCliente,
    		CpfCnpj,
    		Ciente.Nome,
    		IDPessoaTipo,
    		DescricaoTipo
    	FROM
    		tblCliente Cliente
    	INNER JOIN
    		uvwPessoaFisicaJuridica Pessoa ON Cliente.Nome = Pessoa.Nome

    Att,


    Antero Marques

    sábado, 5 de março de 2016 19:30

Todas as Respostas

  • SELECT DISTINCT
    		IDPessoaCliente,
    		CpfCnpj,
    		C.Nome,
    		IDPessoaTipo,
    		DescricaoTipo
    	FROM
    		tblCliente C
    	INNER JOIN
    		uvwPessoaFisicaJuridica P ON C.Nome = P.Nome
    Att,

    Antero Marques

    sábado, 5 de março de 2016 14:14
  • amigo obrigado por responder o tpc mais lamento em dizer que nao funcionou abre o link abaixo

    https://i.imgur.com/4PW7Y64.jpg

    seila o que fazer para arruma isso 

    sábado, 5 de março de 2016 17:36
  • Dunki,

    você digitou errado.Vou tentar deixar mais claro:

    SELECT DISTINCT
    		IDPessoaCliente,
    		CpfCnpj,
    		Ciente.Nome,
    		IDPessoaTipo,
    		DescricaoTipo
    	FROM
    		tblCliente Cliente
    	INNER JOIN
    		uvwPessoaFisicaJuridica Pessoa ON Cliente.Nome = Pessoa.Nome

    Att,


    Antero Marques

    sábado, 5 de março de 2016 19:30
  • obrigado deu certo desculpa mancada minha =D  obrigado msm
    sábado, 5 de março de 2016 20:21
  • O problema é que sua consulta esta gerando um plano cartesiano, você terá que verificar seu relacionamento entre as tabelas pois você deve estar usando uma relação que não lhe da o retorno unico do registro você tem que analisar as tabelas envolvidas e verificar as relações por exemplo:

    Tabela Funcionarios
    Codigo,Filial
    Tabela Historico
    Codigo,Filial

    SELECT F.CODIGO,F.FILIAL FROM FUNCIONARIO F INNER JOIN HISTORICO H ON F.CODIGO = H.CODIGO AND F.FILIAL = H.FILIAL

    dessa forma você teria um retorno de linhas unicas, você teria que avaliar sua tabela e usar uma relação que gere o resultado unico


    Junior

    domingo, 6 de março de 2016 11:14
  • O problema é que sua consulta esta gerando um plano cartesiano, você terá que verificar seu relacionamento entre as tabelas pois você deve estar usando uma relação que não lhe da o retorno unico do registro você tem que analisar as tabelas envolvidas e verificar as relações por exemplo:

    Tabela Funcionarios
    Codigo,Filial
    Tabela Historico
    Codigo,Filial

    SELECT F.CODIGO,F.FILIAL FROM FUNCIONARIO F INNER JOIN HISTORICO H ON F.CODIGO = H.CODIGO AND F.FILIAL = H.FILIAL

    dessa forma você teria um retorno de linhas unicas, você teria que avaliar sua tabela e usar uma relação que gere o resultado unico


    Junior

    Dunki,

    Concordo com a sugestão do Junior Martins.


    Pedro Antonio Galvao Junior [MVP | MCC | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitario | SoroCodigos | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    terça-feira, 8 de março de 2016 13:24
    Moderador