|
|
|
» » |
|
|
| Query em duas tabelas |
| Autor |
Mensagem |

Posts: 301
|
Enviada:
16 de Março de 2007, 4:27 pm |
  |
Olá Galera.
Como faço para fazer uma query no MYSQL em duas tabelas e especificando um campo comum entre elas. Por Exemplo:
| Quote: |
SELECT * FROM tabela1, tabela2 WHERE idCampoComum = 'n' AND colunaIncomum = 'valor' OR idCampoComum = 'n' AND colunaIncomum = 'valor' e assim sucessivamente até completar todos os campos das duas tabelas. |
A parte de trazer os campos já fiz. Estou montando a Query deste modo que apreseintei, mais ela me traz o erro:
| Quote: | | Column 'idCampoComum' in where clause is ambiguous |
PS: o mesmo erro acontece quando eu coloco "ORDER BY campo ASC" e retiro os "idCampoComum".
Grato desde já =)
Abraços. |
|
|
  |
 |

Posts: 1573
|
Enviada:
17 de Março de 2007, 10:16 pm |
  |
Tente: | Code: | | SELECT * FROM tabela1, tabela2 WHERE tabela1.idCampoComum = 'n' AND tabela2.colunaIncomum = 'valor' OR tabela1.idCampoComum = 'n' AND tabela2.colunaIncomum = 'valor' |
|
Gostou do Fórum? Teve suas perguntas respondidas rápida e corretamente? Achou o pessoal gente fina? Então divulgue o fórum para seus amigos! Contamos com a sua ajuda para deixar o fórum cada dia melhor!
--------------------------------------------------------------------------------------------------------------------------
"Aquele que luta com monstros deve acautelar-se; para não tornar-se também um monstro. Quando se olha muito
tempo para um abismo, o abismo olha para você." ---Friedrich Wilhelm Nietzsche, "Além do Bem e do Mal" |
|
   |
 |

Posts: 301
|
Enviada:
23 de Março de 2007, 3:31 pm |
  |

Infelizmente não deu =(
vou mostrar minha query real:
| Code: | SELECT *
FROM `cadastro_participante` , `endereco_participante`
WHERE `cadastro_participante.idContribuinte` = '3'
AND `cadastro_participante.cod_part` LIKE '%%'
OR `cadastro_participante.idContribuinte` = '3'
AND `cadastro_participante.nome` LIKE '%%'
OR `cadastro_participante.idContribuinte` = '3'
AND `cadastro_participante.cod_pais` LIKE '%%'
OR `cadastro_participante.idContribuinte` = '3'
AND `cadastro_participante.cnpj` LIKE '%%'
OR `cadastro_participante.idContribuinte` = '3'
AND `cadastro_participante.cpf` LIKE '%%'
OR `cadastro_participante.idContribuinte` = '3'
AND `cadastro_participante.cei` LIKE '%%'
OR `cadastro_participante.idContribuinte` = '3'
AND `cadastro_participante.nit` LIKE '%%'
OR `cadastro_participante.idContribuinte` = '3'
AND `cadastro_participante.uf` LIKE '%%'
OR `cadastro_participante.idContribuinte` = '3'
AND `cadastro_participante.ie` LIKE '%%'
OR `cadastro_participante.idContribuinte` = '3'
AND `cadastro_participante.ie_st` LIKE '%%'
OR `cadastro_participante.idContribuinte` = '3'
AND `cadastro_participante.cod_mun` LIKE '%%'
OR `cadastro_participante.idContribuinte` = '3'
AND `cadastro_participante.im` LIKE '%%'
OR `cadastro_participante.idContribuinte` = '3'
AND `cadastro_participante.suframa` LIKE '%%'
OR `endereco_participante.idContribuinte` = '3'
AND `endereco_participante.cep` LIKE '%%'
OR `endereco_participante.idContribuinte` = '3'
AND `endereco_participante.end` LIKE '%%'
OR `endereco_participante.idContribuinte` = '3'
AND `endereco_participante.num` LIKE '%%'
OR `endereco_participante.idContribuinte` = '3'
AND `endereco_participante.compl` LIKE '%%'
OR `endereco_participante.idContribuinte` = '3'
AND `endereco_participante.bairro` LIKE '%%'
OR `endereco_participante.idContribuinte` = '3'
AND `endereco_participante.cep_cp` LIKE '%%'
OR `endereco_participante.idContribuinte` = '3'
AND `endereco_participante.cp` LIKE '%%'
OR `endereco_participante.idContribuinte` = '3'
AND `endereco_participante.fone` LIKE '%%'
OR `endereco_participante.idContribuinte` = '3'
AND `endereco_participante.fax` LIKE '%%'
LIMIT 0 , 30 |
|
|
|
  |
 |

Posts: 463
|
Enviada:
19 de Junho de 2007, 8:52 am |
  |
cara...no seu caso você não está crusando informações entre as duas tabelas então recomendo que você faca uma UNION.
Uma palinha: | Code: | (SELECT campo1 FROM cadastro_participante cp
WHERE cp.idContribuinte = 3 AND cp.suframa IS NULL)
UNION
(SELECT campo2 FROM endereco_participante ep
WHERE ep.idContribuinte = 3 AND ep.cep IS NULL); |
É basicamente isso, mas há umas exigências que devem ser satisfeitas...os campos selecionados devem ser da mesma quantidade entre as tabelas e do mesmo tipo, se não me engano. |
Sou open source.
E você? |
|
     |
 |
|
|
|
|
» » |
|
|
[GMT - 2:00]
Powered by phpBB
© phpBB Group
:: FI Theme :: Modificado por Error404
| |