Forum Pplware
Query 3 Tabelas Avançado - Versão de Impressão

+- Forum Pplware (http://forum.pplware.com)
+-- Fórum: Mais Tech (/forumdisplay.php?fid=11)
+--- Fórum: Programação e Web (/forumdisplay.php?fid=16)
+--- Tópico: Query 3 Tabelas Avançado (/showthread.php?tid=9186)



Query 3 Tabelas Avançado - EToS - 15-06-2011 18:47

Boa tarde pessoal,

Preciso de fazer uma query do genero

Select * from 3 tabelas(tabela passaros, casas, utensilios) where nome=$nome;

Ou seja, preciso na mesma query buscar valores de 3 tabelas diferentes.

Cumps.


RE: Query 3 Tabelas Avançado - ricardoantunes - 16-06-2011 09:11

Select * from passaros inner join casas on passaros.campo = casas.campo inner join utensilios on casas.campo2 = utensilios.campo2 where passaros.nome = 'Benfica'


Serve?


RE: Query 3 Tabelas Avançado - Bruno Bernardino - 16-06-2011 09:26

Essas tabelas têm algo em comum, certo?

Deverá ser algo como:

SELECT a.campo1, b.campo2, c.campo3 FROM tabela1 AS a INNER JOIN tabela2 AS b ON (a.id_b = b.id) INNER JOIN tabela3 AS c ON (b.id_c = c.id) WHERE a.filtro_a = %s AND b.filtro_b = %d

Se os registos tiverem de existir em todas as tabelas.

Se não tiverem de existir, mas obviamente quiseres dar preferência aos registos que existem, utilizas LEFT JOIN em vez de INNER JOIN.

Penso que, devido à tua dúvida, não vais compreender muito bem a query em cima. O melhor que te posso dizer é aprender mais um bocado de MySQL primeiro, pois o que está em cima não é nada complicado... :/