Ajuda - Busca - Membros - Calendário
Versão Completa: (Resolvido) Relacionamento de tabelas
Fórum Script Brasil > Programação & Desenvolvimento > Delphi, Kylix
Clodoaldo Monteiro
Olá,

Tenho uma aplicação que vai gerar um boleto de IPTU, e tenho que informar o endereço do imóvel e o endereço do contribuinte.

Na minha tabela tb_dam tenho os campos CodEndImovel e CodEndContribuinte onde esse campos podem trazer valores diferentes, pois uma pessoa pode morar em um bairro e ter um imóvel em outro, por isso temos que mandar a cobrança para o endereço do contribuinte.

Na tabela tb_endereco tenho os campos id - código de acesso, nome - nome da rua.

Ou seja, essa tabela terá que ser relacionada duas vezes na mesma insrução.

No Boleto do DAM tenho que ter assim:

Endereço do imóvel:
- Rua ...
- Bairro...

e...

Endereço do Contribuinte:
- Rua...
- Bairro ...
- Cidade ...

Então pergunto como fazer a instrução SQL, pois to usando um componente TQuery no Delphi 7.
Clodoaldo Monteiro
Caro amigo,
Já resolvi e fiz assim no delphi:

CODE
QryDAM.CLOSE;
      QryDAM.SQL.Clear;
      QryDAM.SQL.Add('SELECT DAM.DAM_CODIGO, DAM.DAM_CODBCI, DAM.DISTRITO, DAM.SETOR, DAM.QUADRA, DAM.LOTE, DAM.UNIDADE, DAM.EXERC, DAM.PARCELA, DAM.DAM_REGIST, DAM.DAM_CODPRO, DAM.DAM_NOME, DAM.DAM_LOG, DAM.DAM_NUM, DAM.DAM_BAI,');
      QryDAM.SQL.Add('DAM.VENCIMENTO, DAM.VRIPTU, DAM.VRTCL, DAM.VRTCC, DAM.VRTIP, DAM.VRTLP, DAM.OUTRASTX,DAM.DESCONTO,DAM.DAM_ATERR,DAM.VM2_VALOR,DAM.DAM_AUNID,DAM.DAM_VVT,
DAM.DAM_VVE,DAM.DAM_ALIQ,DAM.DAM_ALIED, DAM.DAM_VIPTU,');
      QryDAM.SQL.Add('DAM.DAM_CODBAR, BCI.BCI_COMPL,BCI.BCI_CARAC, BCI.BCI_UTILI, BCI.BCI_ATEDI,');
      QryDAM.SQL.Add('CCT.CCT_CPF, CCT.CCT_CNPJ, CCT.CCT_NOME,CCT.CCT_NUM, CCT.CCT_COMPL, CCT.CCT_CID, CCT.CCT_CEP, CCT.CCT_UF,');
      QryDAM.SQL.Add('Bai.BAI_NOME,');
      QryDAM.SQL.Add('Lgd.LOG_NOME,');
      QryDAM.SQL.Add('Bai2.BAI_NOME as BairroContribuinte,');
      QryDAM.SQL.Add('Lgd2.LOG_NOME as LogradouroContribuinte');
      QryDAM.SQL.Add('FROM DAM');
      QryDAM.SQL.Add('LEFT OUTER JOIN BCI ON (DAM.DAM_CODBCI = BCI.BCI_CODIGO)');
      QryDAM.SQL.Add('LEFT OUTER JOIN CCT ON (DAM.DAM_CODPRO = CCT.CCT_CODIGO)');
      QryDAM.SQL.Add('LEFT OUTER JOIN Bai ON (DAM.DAM_BAI = Bai.BAI_COD)');
      QryDAM.SQL.Add('LEFT OUTER JOIN Bai Bai2 ON (CCT.CCT_BAI = Bai2.BAI_COD)');
      QryDAM.SQL.Add('LEFT OUTER JOIN Lgd ON (DAM.DAM_LOG = Lgd.LOG_COD)');
      QryDAM.SQL.Add('LEFT OUTER JOIN Lgd Lgd2 ON (CCT.CCT_LOG = Lgd2.LOG_COD)');
      QryDAM.SQL.Add('WHERE (DAM.DISTRITO+DAM.SETOR+DAM.QUADRA+DAM.LOTE+DAM.UNIDADE = '+QuotedStr(mInscricao)+')');
      QryDAM.SQL.Add('ORDER BY DAM.DISTRITO,DAM.SETOR,DAM.QUADRA,DAM.LOTE,DAM.UNIDADE ASC, DAM.PARCELA DESC');
      QryDAM.Open;


Muito obrigado pela atenção.
Esta é uma versão simplificada de nosso conteúdo principal. Para ver a versão completa com maiores informações, formatação e imagens, por favor clique aqui.
Invision Power Board © 2001-2012 Invision Power Services, Inc.