Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal eu queria saber como vcs fazem busca em varias tabelas de uma só vez eu num faço idéia de como fazer isso?
$sql = "select CAMPOA, CAMPOB, CAMPOC from TABELAA inner join TABELAB on CAMPOB = CAMPOA";tente assim!Rodney Peixoto.
Cada tabela é um segmento, eles ficaram em tabelas diferentes para que a consulta fosse muito mais rapida, só que agora meu padrão quer fazer a bendita da busca geral, por isso, que a consulta irá pegar muitas tabelas
eu vi essa ideia aqui na net
SELECT a.matricula, a.valor, b.matricula, b.nome FROM cobranca a, matricula b WHERE a.matricula=10 AND a.matricula=b.matricula;
eu queria entender melhor isso!
to pesquisando e mesmo assim não encontrei uma idéia ou algo que esplique esses codigos citados, to precisando de uma luz no fim desse tunel pessoalQualquer idéia é bem-vinda
intendi!!!Por que assim, em todas as tabelas os campos tem o mesmo nome, por exemplo meu select é isso:
> select nome, endereco from Tabela1 where p_chaves LIKE '%".$empresa."%' or nome LIKE '%".$empresa."%' order by empresa ASC
em todas as tabela a consulta é com base nesses dois campos NOME e ENDERECO, ai nesse caso eu preciso colocar apelidos e tal...?
puxa, fica ruim assim! ! ! ! pq eu tb vou usar o cod pra fazer consultas em 1 tabela só.esse ultimo exemplo que a gente conversou num funciona comigo?
todos os dados das 20 tabelas!
o duro é a paginação depois!
Eu encontrei uma outra coisa:
Select UNION
você conhece?
Cara valeu mesmo pelas dicas, consegui usar o Union all, deu certo cara, agora o que eu precisava saber é se tem como identificar em qual tabela o registro está, tem como?
(SELECT FROM TabA WHERE p_chaves LIKE '%".$empresa."%' or empresa LIKE '%".$empresa."%' ORDER BY empresa ASC) UNION ALL(SELECT FROM TabB WHERE p_chaves LIKE '%".$empresa."%' or empresa LIKE '%".$empresa."%' ORDER BY empresa ASC) UNION ALL(SELECT FROM TabC WHERE p_chaves LIKE '%".$empresa."%' or empresa LIKE '%".$empresa."%' ORDER BY empresa ASC)UNION ALL(SELECT FROM TabD WHERE p_chaves LIKE '%".$empresa."%' or empresa LIKE '%".$empresa."%' ORDER BY empresa ASC) ORDER BY empresa ASC";
Eu fiz isso com as 20 tabelas, e por incrivel que pareça ficou rapido, como se fosse uma só!Agora eu precisava saber como que eu identifico em que tabela está um registro, para visualizar outros dados dele.
Num tem nenhuma função em mysql ou php que retorna o mostrando em qual tabela aquele registro pertence???To frito!
nenhuma ideia? um palpite? uma sugestão?
Eu dei uma pesquisada sobre INNER JOIN, ele e meio complicado de entender hein!No meu caso são 20 tabelas exatamente iguais e que eu preciso fazer um select, tem alguma forma mais facil ou um outro jeito sei lá?tipo assim: Select campoa From Tabela1 , Tabela2....