Fórum Juntar 3 Tabelas em numa Query ... #219596
10/03/2004
0
Estou precisando juntar 3 tabelas para imprimir a junção dessas tabelas, porém quando junto 2 tabelas o resultado é satisfatório, mas quando tentei juntar 3 tabelas não obtive sucesso, para juntar as 2 tabelas fiz assim:
Select * From Licitacao,FirmaNaLicitacao
para juntar 3 tabelas tentei assim:
Select * From Licitacao,FirmaNaLicitacao,ItensDaLicitacao
porém não deu certo. Será que estou fazendo errado?
obrigado ...
Giovani
Curtir tópico
+ 0Posts
10/03/2004
Lucas Silva
e qual o erro que está dando?
Gostei + 0
10/03/2004
Giovani
e qual o erro que está dando?[/quote:03682df49c]
erro não está dando, simplesmente não lista os resultados com 3 tabelas, mas com 2 tabelas dá certo...
me dá um exemplo de join entre tabelas. falou...
Gostei + 0
10/03/2004
Fabio.hc
Ex:
Select * From Licitacao,FirmaNaLicitacao,ItensDaLicitacao
[b:13f15f71e8]WHERE Licitacao.codigo = FirmaNaLicitacao.codigo
and Licitacao.itens = ItensDaLicitacao.codigo[/b:13f15f71e8]
vc coloca os nomes dos campos de ligação das tabelas.
Gostei + 0
10/03/2004
Giovani
Continua não aparecendo os Valores.
Não teria outra maneira de unir estas 3 tabelas numa consulta Query?
Gostei + 0
10/03/2004
Cabelo
Select * From Licitacao,FirmaNaLicitacao,ItensDaLicitacao
WHERE Licitacao.CodigoFirma = FirmaNaLicitacao.codigo
and Licitacao.Codigoitens = ItensDaLicitacao.codigo
se não der certo..
veja se há dados compatíveis nas tabelas..
isto é se há campos para relacionamento entre estas três tabela..
se houver, são os campos do select que não estão corretos..
então altere os campos relacionais das tabelas em seu select
sem mais
Cabelo
Gostei + 0
10/03/2004
Giovani
Deu Certo, mais os Dados estão se repetindo. Ex:
Estão aparecendo várias vezes a mesma Firma. Eu acho que a consulta com o WHERE é que está fazendo a repetição. Como seria uma consulta para que os dados não se repitam?
Valeu ...
Gostei + 0
10/03/2004
Kyonak
por exemplo
vc em 2 linhas
com nome Fulano só que a data eh diferente aí aparece 2 mesmo
mas se estiver tudo idêntico use o DISTINCT
select distinct campo 1, campo 2 ...
Gostei + 0
10/03/2004
Lucas Silva
Isso é o típico erro de falta de join..... coloca o seu sql ai...
Gostei + 0
10/03/2004
Cabelo
esta faltando algum relacionamento na clausula where..
para saber te responder preciso que vc poste os campos das tabelas aqui..
respectivamente com seu sql..
assim poderei te ajudar masi..
Cabelo
Gostei + 0
10/03/2004
Kyonak
Cabelo, é só olhar as tabelas dele, a tabela itensdalicitação indica q uma licitação tem mais de 1 item, ou seja os registros vao se repetir, aí nao tem jeito, nem distinct quebra o galho dele.
Gostei + 0
10/03/2004
Cabelo
insira um grid para os iten da licitação, sendo esse o detail.
O master vc pode criar a partir da tabela Firma..
esse então seria o cabeçalho..
quando vc selecionar outra firma ele iria mudando os itens de acordo com a firma..
assim :
select * from ItensLicitacao where Itenslicitacao.codigofirma = codigo da firam que vc está selecionando..
assim funciona..
té +
Cabelo
Gostei + 0
10/03/2004
Mlnascimento
SELECT*
FROM LICITACAO
INNER JOIN LICITACAO
ON (LICITACAO.CAMPO = FIRMANALICITACAO.CAMPO)
INNER JOIN ITENSDALICITACAO
ON (FIRMANALICITACAO.CAMPO = ITENSNALICITACAO.CAMPO)
Marcelo Nascimento
mlnascimento@celpe.com.br :shock:
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)