Dúvida código SQL

Delphi

19/02/2009

Pessoal, estou execuntado o seguinte código sql

select distinct
contas.ID_CONTAS,
Contas.ID_VINCULO,
Contas.ID_GRUPO ,
Contas.ID_SUBGRUPO,
Contas.N_DOCUMENTO,
Contas.DATAENTRADA,
Contas.VALORTOTAL,
Contas.FORMASPAGAMENTO ,
Contas.QTD_PARCELAS,
Contas.TIPOOPERACAO,
Contas.OBS,
Contas.NOME_VINCULO,
Grupo.codigo,
Grupo.descricao,
sub_grupo.codigo,
sub_grupo.descricao,
sub_grupo.codigo_grupo
from CONTAS
inner JOIN Grupo ON (Grupo.codigo = Contas.id_grupo)
inner JOIN Sub_Grupo ON (sub_grupo.codigo_grupo = Grupo.codigo)
where
TipoOperacao=:Tipo

Pois bem na tabela CONTAS, tenho apenas 2 registros cadastrados e quando realizado a pesquisa eles aparecem duplicados ou seja ao invês de aparecer 2 aparece 4 registros, poderiam me informar o que estou fazendo de errado, utilizo Delphi 2007+firebird

Desde já agradeço.

abraço


Estanieski

Estanieski

Curtidas 0

Respostas

Ara.es

Ara.es

19/02/2009

Ola estanieski,

O que pode estar acontecendo é:

1 - Uma conta pode ter mais de um grupo, como vc está fazendo um INNER JOIN, os dados da conta irão aparecer quantas vezes tinha um grupo para aquela conta. Exemplo, se uma conta tive 3 grupos e outra conta tiver 1 grupo, irão aparecer 4 linhas no seu select, sendo 3 linhas com os dados da 1ª conta e uma linha com os dados da 2ª conta. so que os dados dos grupos serão diferentes.

2 - Pode estar ocorrendo a mesma situação anterior so que ao inves de uma conta com varios grupos, o que pode estar acontecendo é um grupo ter varios subgrupos.

Verifique esse pontos, caso for um desses casos, sua query não está errada. Qualquer coisa é só perguntar. Flw !!


GOSTEI 0
POSTAR