Fórum relacionamento entre tabelas #328101
25/08/2006
0
olá uso firebird 1.5 e delphi 7
Tenho 3 tabelas que se relacionam, uma chamada:
[b:1fcfd210db]EVENTOS_ELEITORES[/b:1fcfd210db] = Tbl_Eventos_E
(CODIGO, NOME, CODIGO_EVENTO, CODIGO_CIDADE)
a outra chamada:
[b:1fcfd210db]EVENTOS[/b:1fcfd210db] = tbl_Eventos
(CODIGO, EVENTO)
e a outra chamada:
[b:1fcfd210db]CIDADE[/b:1fcfd210db] = Tbl_Cidade
( CODIGO, NOME)
Gostaria de saber, como retornar numa consulta SQL, o NOME da CIDADE Cujo CODIGO = CODIGO_CIDADE da tabela EVENTOS_ELEITORES.
acho que eu teria que fazer um LEFT JOIN do tipo...
esse SQL acima foi uma ajuda de um amigo, porem aqui quando eu dou um preview no meu quick report usando esse sql o campo que é responsavel por mostrar o nome da cidade no relatorio me mostra o nome da primeira cidade contida na tabela CIDADE para todos os registros da consulta
nao sei se estou fazendo algo errado, derrepente o meu problema está nas ligações com o quick report, por isso vou postar abaixo as ligações que eu fiz pra caso tenha algum problema nelas...
Obs: Tudo que for Label_xxxx. = QRPDBText
quickRep1.dataset := DM.Tbl_Eventos_E
Label_Nome.dataset := DM.Tbl_Eventos_E
Label_Nome.datafield := NOME
Label_Cidade.dataset := DM.Tbl_Cidade
Label_Nome.datafield := NOME
nao consegui encontrar o problema, caso alguem possa me ajudar, por favor é meio urgente isso....
abraços a todos...
Tenho 3 tabelas que se relacionam, uma chamada:
[b:1fcfd210db]EVENTOS_ELEITORES[/b:1fcfd210db] = Tbl_Eventos_E
(CODIGO, NOME, CODIGO_EVENTO, CODIGO_CIDADE)
a outra chamada:
[b:1fcfd210db]EVENTOS[/b:1fcfd210db] = tbl_Eventos
(CODIGO, EVENTO)
e a outra chamada:
[b:1fcfd210db]CIDADE[/b:1fcfd210db] = Tbl_Cidade
( CODIGO, NOME)
Gostaria de saber, como retornar numa consulta SQL, o NOME da CIDADE Cujo CODIGO = CODIGO_CIDADE da tabela EVENTOS_ELEITORES.
acho que eu teria que fazer um LEFT JOIN do tipo...
DM.Tbl_Eventos_E.Close; DM.Tbl_Eventos_E.SelectSQL.Clear; DM.Tbl_Eventos_E.SelectSQL.Add(´SELECT E.*, C.NOME FROM Eventos_Eleitores E LEFT JOIN CIDADE C ON C.CODIGO = E.CODIGO_CIDADE where CODIGO_EVENTO = ´´´ + Trim(DM.Tbl_EventosCODIGO.AsString) + ´´´ ORDER BY NOME´); //este nome eh do q da Tabela Evento_Eleitores ou da Tabela Cidade coloque E.NOME se for da Tabela Evento_Eleitores ou coloque C.Nome se for da Tabela Cidade DM.Tbl_Eventos_E.Open;
esse SQL acima foi uma ajuda de um amigo, porem aqui quando eu dou um preview no meu quick report usando esse sql o campo que é responsavel por mostrar o nome da cidade no relatorio me mostra o nome da primeira cidade contida na tabela CIDADE para todos os registros da consulta
nao sei se estou fazendo algo errado, derrepente o meu problema está nas ligações com o quick report, por isso vou postar abaixo as ligações que eu fiz pra caso tenha algum problema nelas...
Obs: Tudo que for Label_xxxx. = QRPDBText
quickRep1.dataset := DM.Tbl_Eventos_E
Label_Nome.dataset := DM.Tbl_Eventos_E
Label_Nome.datafield := NOME
Label_Cidade.dataset := DM.Tbl_Cidade
Label_Nome.datafield := NOME
nao consegui encontrar o problema, caso alguem possa me ajudar, por favor é meio urgente isso....
abraços a todos...
Mahdak
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)