Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Roberto_S_Luz

[Resolvido] SELECT em mais de 1 Tabela

Recommended Posts

Olá galera....tudo bem com você's???

 

Bom...andei procurando por aí uma solução para o meu caso...e não achei..portanto....aqui estou eu...buscando informações perante você's.

 

O meu problema é...

 

Tenho 2 tabelas que...não se comunicam entre si, porém...existe uma outra que se comunica entre as duas...bom...vamos lá.

 

Tenho a tabela Controle de Viagens e uma outra tabela Abastecimento.

 

O que eu quero é:

 

Fazer um SELECT que pegue alguns dados da tabela Controle de Viagens e alguns da tabela Abastecimento, porém em minha Sintaxe....o retorno me traz muitos dados repetidos pq eu não tenho nenhuma chave onde eu possa ligar as duas e mesmo assim...tipo...posso ter 30 registros numa tabela e na outra apenas 10, e os mesmos estão multiplicando uma com a outra.

 

Já utilizei a função UNION ALL e apenas só o UNION, porém ambas as tabelas devem ter a mesma quantidade de campos, seu colocar para uma listar dados de 3 campos numa tabela e na outra tabela colocar apenas 2 campos...da erro.

 

Já tentei também fazer 2 consultas diferentes...e dar certo....porém....ao imprimir não tem como pq...gostaria que os dados (das 2 tabelas) aparecessem um ao lado do outro.

 

Aqui está uma das alternativas que fiz..porém...com bastante redundância pois os campos das 2 tabelas estão se multiplicando.

 

SELECT `controle_viagens_diarias`.`cvd_codigo`, `controle_viagens_diarias`.`cvd_data`, `veiculo`.`vei_prefixo`, `controle_viagens_diarias`.`cvd_cat_ini_dia`,`controle_viagens_diarias`.`cvd_cat_final_dia`,
`controle_viagens_diarias`.`cvd_total_passageiros`,`controle_viagens_diarias`.`cvd_km_inicial`,`controle_viagens_diarias`.`cvd_km_final`,
`controle_viagens_diarias`.`cvd_km_percorrido`,`controle_viagens_diarias`.`cvd_qtde_vale_transporte`,`controle_viagens_diarias`.`cvd_total_passes`,
`controle_viagens_diarias`.`cvd_total_dinheiro`, `veiculo`.`vei_prefixo`, `abastecimento`.`aba_data`, `abastecimento`.`aba_valor`
FROM `controle_viagens_diarias`,`veiculo`,`abastecimento`
WHERE `controle_viagens_diarias`.`cvd_data` BETWEEN '2010/06/01' AND '2010/06/30'
AND `controle_viagens_diarias`.`vei_codigo` = `veiculo`.`vei_codigo`
AND `veiculo`.`vei_codigo` = `abastecimento`.`vei_codigo`
Enfim...alguém aí tem alguma sugestão para esse caso?

Desde já...um grande abraço e obrigado pela atenção. http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

 

Hummm...pelo visto...a parada é um pouco complicada mesmo...rssss

 

Bom galera...mesmo assim, obrigado por visitarem este topico...

Vou continuar pesquisando pq...não tenho alternativa...rsss

 

Um grande abraço... http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se tem uma tabela que comunica com as duas e se for de fato uma tabela feita com esta finalidade pode simplesmente usar JOIN nas 3 tabelas fazendo um JOIN de 2 e depois do conjunto com a outra

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Mário Monteiro bom dia...e grato por sua atenção!!!

 

Bom...vou tentar essa sua dica...porém...não sei se irá funcionar pq....quando eu insiro algo na tabela Controle de Viagens....eu não faço nada com a de Abastecimento e isso vice-versa...pq ambas não precisam se comunicar...a tabela Veiculo se comunica com ambas pq quando o cliente fizer os lançamentos das viagens...precisará informar o veiculo cujo o motorista estava dirigindo...e quando o mesmo fizer os lançamentos dos abastecimentos, também precisará informar o veiculo cujo o motorista estava dirigindo, por isso a tabela veiculo se comunica com ambas as tabelas....fora isso...elas não tem nada a ver uma com a outra....é por isso da dificultade de fazer essa SQL(isso se for possivel...rss).

Porém....o cliente quer um relatorio que imprima o seguinte...

 

É um sistema para controle de transporte coletivo.

 

Data, idVeiculo, Catraca Inicial, Catraca Final, Total de Passageiros, KM Inicial, KM Final, KM Percorrido, Qtde Vale Transporte, Qtde Passes (Isso tudo está na tabela Controle de Viagens)

 

Data, idVeiculo, Valor Pago Abastecimento (Isso está na tabela Abastecimento)

 

Bom...isso tudo...num unico formulario de impressão...

Inclusive...criei um outro post aqui na tentativa se fazer 2 SQL separadas e juntar 2 whiles...mas tá meio dificil também...rsss

 

Bom...desde já..grato por sua atenção...abraços... http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

 

E aí galera...bom dia a todos...

 

 

Bom...infelismente ainda não consegui realizar essa façanha...porém...percebi que...ninguem tem ideia de como resolver essa parada...rsss

Sendo assim...os moderadores do forum podem ficar a vontade para fechar esse topico ok.

 

Ainda assim...muito obrigado à todos que leram esse topico.

 

Abraços galera....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom galera...estou voltando a este topico para relatar que...eu consegui resolver o problema com uma forma alternativa.

 

Aki está o link Clique aqui.

 

Obrigado a todos...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Que bom que resolveu

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.