Jump to content


Photo

Existe Maneira De Consultar Varias Tabelas Ao Mesmo Tempo No Db?


  • Faça o login para participar
7 replies to this topic

#1 michelmfreitas

michelmfreitas

    ...

  • Usuários
  • 310 posts
  • Sexo:Não informado

Posted 18/05/2007, 13:31

Ola pessoal,

tenho as seguintes consultas:

$sql = "SELECT * FROM vendas_agentes WHERE vendedor = '".$nome."';";
		$sql2 = "SELECT * FROM vendas_representantes WHERE vendedor = '".$nome."';";
		$sql3 = "SELECT * FROM vendas_consultores WHERE vendedor = '".$nome."';";

Ha alguma maneira de consultar todos esses dados apenas em uma variavel $sql?
Michel Martins

#2 pyro3x

pyro3x

    E

  • Usuários
  • 201 posts
  • Sexo:Masculino

Posted 18/05/2007, 14:21

tenta assim:

$sql = "SELECT * FROM
vendas_agentes va,vendas_representantes vr,vendas_consultores vc 
WHERE 
va.vendedor='$nome'
AND
vr.vendedor='$nome' 
AND
vc.vendedor='$nome'";

Edição feita por: pyro3x, 18/05/2007, 14:21.


#3 michelmfreitas

michelmfreitas

    ...

  • Usuários
  • 310 posts
  • Sexo:Não informado

Posted 18/05/2007, 17:19

tentei assim e nao consegui...


fiz de outro modo...

$sql = "SELECT * FROM vendas_agentes, vendas_consultores, vendas_representantes WHERE vendas_agentes.vendedor LIKE '%".$nome."%' OR vendas_representantes.vendedor LIKE '%".$nome."%' OR vendas_consultores.vendedor LIKE '%".$nome."%';";

e nao deu resultados... mas no DB ha resultados referentes a essa busca... tem algo errado ainda...
Michel Martins

#4 pyro3x

pyro3x

    E

  • Usuários
  • 201 posts
  • Sexo:Masculino

Posted 18/05/2007, 19:27

bota or die(mysql_error());
no final ae e cola aqui se der erro

#5 michelmfreitas

michelmfreitas

    ...

  • Usuários
  • 310 posts
  • Sexo:Não informado

Posted 19/05/2007, 09:05

nao deu erro
Michel Martins

#6 Felipe Pena

Felipe Pena

    O temor do Senhor é o princípio da sabedoria

  • Ex-Admins
  • 6441 posts
  • Sexo:Masculino

Posted 19/05/2007, 10:20

Utilize:
http://dev.mysql.com...1/pt/union.html
Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29

#7 jfsmi

jfsmi

    12 Horas

  • Usuários
  • 201 posts
  • Sexo:Masculino

Posted 19/05/2007, 17:43

Michel,

1) Quando vc faz uma consulta no BD, não pode haver dois campos com um mesmo nome. No teu caso todas as tabelas tem o mesmo nome do campo a ser consultado: vendedor;
2) Reparei tbém q vc colocou ". ." entre % %, não precisa;
3) Vc tbém colocou ; no final no lugar errado;
4) E, por último, verifique se realmente vc está executando o comando SELECT com mysql_query().
Portanto, tente isso:

$sql = mysql_query("
SELECT
vendas_agentes.vendedor AS agentes,
vendas_consultores.vendedor AS consultores,
vendas_representantes.vendedor AS representantes
FROM
vendas_agentes, vendas_consultores, vendas_representantes
WHERE
vendas_agentes.vendedor LIKE '%$nome%'
OR
vendas_representantes.vendedor LIKE '%$nome%'
OR
vendas_consultores.vendedor LIKE '%$nome%'
");


Espero ter ajudado.
Abraços

Não sou expert... mas tento ajudar! Mas o que mais preciso é de ajuda! hehehe


#8 Felipe Pena

Felipe Pena

    O temor do Senhor é o princípio da sabedoria

  • Ex-Admins
  • 6441 posts
  • Sexo:Masculino

Posted 19/05/2007, 23:33

Da forma que ele postou, não há ligação alguma com as 3 tabelas, possuem apenas o mesmo campo vendedor, fazer como ele fez ou como citado acima, será feito uma plano cartesiano. Como você pode ver neste artigo na parte que fala de CROSS JOIN.
Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq