RES: [firebase-br] Problema com SQL
Evandro L. Covre
elcovre em codaintellisoft.com.br
Ter Jul 12 10:54:24 -03 2005
Henery, ta meio complicado de entender sua dúvida, mas vamos lá...
1 - Você está utilizando LEFT JOIN verifique se você referenciou
corretamente todos os campos de referencia entre as tabelas, as chaves.
2 - Vamos deixar mais limpo seu SQL
SELECT STA_COM, NUM_COM, NOM_FOR, COD_CLI, CDI_CLI,
NOM_CLI, RG_COM, TRA_COM, LIM_COM, VAL_COM
FROM TBCOM
LEFT JOIN TBCLI ON SOC_COM = COD_CLI
LEFT JOIN TBFOR ON CON_COM = COD_FOR
WHERE STA_COM IN ('A', 'C', 'E')
Os campos do Left Join SOC_COM = COD_CLI e CON_COM = COD_FOR estão corretos?
São esses mesmos que compõem a chave?!?!?
Abraço
Evandro L. Covre
Analista de Sistemas - Coda Intelligent Softwares
Tel: 16 2102 8765
http://www.codaintellisoft.com.br
Ribeirão Preto - SP
-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
nome de Henery Linck Rosenhaim
Enviada em: terça-feira, 12 de julho de 2005 10:39
Para: FireBase
Assunto: [firebase-br] Problema com SQL
Eu programo Delphi 6 com acesso a Firebird 1.5.2, e num dos relatorios,
ele está me trazendo o mesmo registro 4 vezes:
STA_COM NUM_COM NOM_FOR COD_CLI.... e os outros campos da
consulta
----------------------------------------------------------------------------
------
E 3 TESTE 1
E 3 TESTE 2 (Esse
fornecedor nao está em nenhum registro)...
ele repete esses dados duas vezes...
o SQL q eu usei é esse:
SELECT STA_COM, NUM_COM, NOM_FOR, COD_CLI, CDI_CLI,
NOM_CLI, RG_COM, TRA_COM, LIM_COM, VAL_COM
FROM (TBCOM LEFT JOIN TBCLI ON SOC_COM = COD_CLI)
LEFT JOIN TBFOR ON CON_COM = COD_FOR
WHERE STA_COM IN ('A', 'C', 'E')
Segundo o IBExpert o problema esta no SQL... e o relatorio esta em ordem.
[ ]'s
Henery Linck Rosenhaim
Aprendiz de Programador
Multi Informática LTDA
henery em multi-informatica.com.br
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
Mais detalhes sobre a lista de discussão lista